日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

在Notebook中使用Python第三方庫

在Notebook中執(zhí)行交互式PySpark任務時往往需要借助Python第三方庫來增強數(shù)據(jù)處理和分析能力。本文將以三種方式為您介紹如何在Notebook中安裝Python第三方庫。

背景信息

在交互式PySpark開發(fā)過程中,可以使用Python第三方庫以提升數(shù)據(jù)處理與分析的靈活性及易用性。以下三種方式均能幫助您實現(xiàn)這一目標,建議根據(jù)實際情況選擇最適合的方式。

方式

適用場景

方式一:使用pip安裝Python庫

在Notebook中處理與Spark無關的變量,例如處理通過Spark計算得到的返回值或是自定義的變量等。

重要

重啟Notebook會話后需要重新安裝這些庫。

方式二:通過運行環(huán)境管理配置自定義Python環(huán)境

需要在PySpark中使用Python第三方庫處理數(shù)據(jù),且希望Notebook會話在每次啟動時都能默認預裝這些第三方庫。

方式三:通過Spark參數(shù)配置自定義Python環(huán)境

需要在PySpark中使用Python第三方庫處理數(shù)據(jù)的場景,例如使用Python第三方庫進行Spark分布式計算。

前提條件

操作流程

方式一:使用pip安裝Python庫

  1. 進入Notebook開發(fā)頁面。

    1. 登錄E-MapReduce控制臺

    2. 在左側(cè)導航欄,選擇EMR Serverless > Spark

    3. Spark頁面,單擊目標工作空間名稱。

    4. EMR Serverless Spark頁面,單擊左側(cè)導航欄中的數(shù)據(jù)開發(fā)

    5. 雙擊已創(chuàng)建的Notebook開發(fā)。

  2. 在一個Notebook的Python單元格中,輸入以下命令安裝scikit-learn庫,然后單擊image圖標。

    pip install scikit-learn
  3. 在一個Notebook的Python單元格中,輸入以下命令,然后單擊image圖標。

    # 導入庫并準備相關數(shù)據(jù)集。
    from sklearn import datasets
    
    # 加載內(nèi)置的數(shù)據(jù)集,例如Iris數(shù)據(jù)集。
    iris = datasets.load_iris()
    X = iris.data  # 特征數(shù)據(jù)
    y = iris.target  # 標簽
    
    # 劃分數(shù)據(jù)集。
    from sklearn.model_selection import train_test_split
    
    # 劃分訓練集和測試集。
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
    
    # 使用向量機模型進行訓練。
    from sklearn.svm import SVC
    
    # 創(chuàng)建分類器實例。
    clf = SVC(kernel='linear')  # 使用線性核。
    
    # 訓練模型。
    clf.fit(X_train, y_train)
    
    # 使用訓練好的模型進行預測。
    y_pred = clf.predict(X_test)
    
    # 評估模型性能。
    from sklearn.metrics import classification_report, accuracy_score
    
    print(classification_report(y_test, y_pred))
    print("Accuracy:", accuracy_score(y_test, y_pred))
    

    執(zhí)行結(jié)果如下所示。

    image

方式二:通過運行環(huán)境管理配置自定義Python環(huán)境

步驟一:創(chuàng)建運行環(huán)境

  1. 進入運行環(huán)境管理頁面。

    1. 登錄E-MapReduce控制臺

    2. 在左側(cè)導航欄,選擇EMR Serverless > Spark

    3. Spark頁面,單擊目標工作空間名稱。

    4. EMR Serverless Spark頁面,選擇左側(cè)導航欄中的運行環(huán)境管理

  2. 單擊創(chuàng)建運行環(huán)境

  3. 創(chuàng)建運行環(huán)境頁面,單擊添加庫

    更多參數(shù)信息,請參見管理運行環(huán)境

  4. 新建庫中,使用PyPI來源類型,配置PyPI Package參數(shù),然后單擊確定

    PyPI Package中填寫庫的名稱及版本,不指定版本時,默認安裝最新版本。例如,scikit-learn

  5. 單擊創(chuàng)建

    創(chuàng)建后將開始初始化環(huán)境。

步驟二:使用運行環(huán)境

說明

在編輯會話之前,您需要先停止會話。

  1. 進入Notebook會話頁簽。

    1. EMR Serverless Spark頁面,選擇左側(cè)導航欄中的運維中心 > 會話管理

    2. 單擊Notebook會話頁簽。

  2. 單擊目標Notebook會話操作列的編輯

  3. 運行環(huán)境下拉列表中選擇前一步驟創(chuàng)建的運行環(huán)境,單擊保存更改

  4. 單擊右上角的啟動

步驟三:利用Scikit-learn庫進行數(shù)據(jù)分類

  1. 進入Notebook開發(fā)頁面。

    1. EMR Serverless Spark頁面,單擊左側(cè)導航欄中的數(shù)據(jù)開發(fā)

    2. 雙擊已創(chuàng)建的Notebook開發(fā)。

  2. 在一個Notebook的Python單元格中,輸入以下命令,然后單擊image圖標。

    # 導入庫并準備相關數(shù)據(jù)集。
    from sklearn import datasets
    
    # 加載內(nèi)置的數(shù)據(jù)集,例如Iris數(shù)據(jù)集。
    iris = datasets.load_iris()
    X = iris.data  # 特征數(shù)據(jù)
    y = iris.target  # 標簽
    
    # 劃分數(shù)據(jù)集。
    from sklearn.model_selection import train_test_split
    
    # 劃分訓練集和測試集。
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
    
    # 使用向量機模型進行訓練。
    from sklearn.svm import SVC
    
    # 創(chuàng)建分類器實例。
    clf = SVC(kernel='linear')  # 使用線性核。
    
    # 訓練模型。
    clf.fit(X_train, y_train)
    
    # 使用訓練好的模型進行預測。
    y_pred = clf.predict(X_test)
    
    # 評估模型性能。
    from sklearn.metrics import classification_report, accuracy_score
    
    print(classification_report(y_test, y_pred))
    print("Accuracy:", accuracy_score(y_test, y_pred))
    

    執(zhí)行結(jié)果如下所示。

    image

方式三:通過Spark參數(shù)配置自定義Python環(huán)境

在使用該方式時,需確保已安裝ipykernel和jupyter_client,并且ipykernel的版本應不低于6.29,jupyter_client的版本應不低于8.6,Python版本需不低于3.8,且需在Linux環(huán)境下進行打包。

步驟一:Conda環(huán)境構建與部署

  1. 通過以下命令安裝Miniconda。

    wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
    chmod +x Miniconda3-latest-Linux-x86_64.sh
    
    ./Miniconda3-latest-Linux-x86_64.sh -b
    source miniconda3/bin/activate
  2. 構建使用Python 3.8和numpy的Conda環(huán)境。

    # 創(chuàng)建并激活conda環(huán)境
    conda create -y -n pyspark_conda_env python=3.8
    conda activate pyspark_conda_env
    # 安裝第三方庫
    pip install numpy \
    ipykernel~=6.29 \
    jupyter_client~=8.6 \
    jieba \
    conda-pack
    # 打包環(huán)境
    conda pack -f -o pyspark_conda_env.tar.gz

步驟二:上傳資源文件至OSS

上傳打包好的pyspark_conda_env.tar.gz至阿里云OSS,并記錄下完整的OSS路徑,上傳操作可以參見簡單上傳

步驟三:配置并啟動Notebook會話

說明

在編輯會話之前,您需要先停止會話。

  1. 進入Notebook會話頁簽。

    1. EMR Serverless Spark頁面,選擇左側(cè)導航欄中的運維中心 > 會話管理

    2. 單擊Notebook會話頁簽。

  2. 單擊目標Notebook會話操作列的編輯

  3. Spark配置中,添加以下配置信息,單擊保存更改

    spark.archives  oss://<yourBucket>/path/to/pyspark_conda_env.tar.gz#env
    spark.pyspark.python ./env/bin/python
    說明

    配置中的<yourBucket>/path/to,請?zhí)鎿Q為您實際的OSS上傳路徑。

  4. 單擊右上角的啟動

步驟四:利用Jieba分詞處理文本數(shù)據(jù)

說明

Jieba是一個中文文本分詞Python第三方庫,其開源許可證請參見LICENSE

  1. 進入Notebook開發(fā)頁面。

    1. EMR Serverless Spark頁面,單擊左側(cè)導航欄中的數(shù)據(jù)開發(fā)

    2. 雙擊已創(chuàng)建的Notebook開發(fā)。

  2. 在新的一個Python單元格中,輸入以下命令以使用Jieba進行中文分詞,然后單擊image圖標。

    import jieba
    
    strs = ["EMRServerlessSpark是一款專為大規(guī)模數(shù)據(jù)處理與分析而打造的全托管Serverless產(chǎn)品", "為您提供了高效的任務開發(fā)調(diào)試調(diào)度以及運維等一站式服務", "EMRServerlessSpark實現(xiàn)了資源調(diào)度和根據(jù)任務負載進行動態(tài)擴展"]
    
    sc.parallelize(strs).flatMap(lambda s: jieba.cut(s, use_paddle=True)).collect()

    執(zhí)行結(jié)果如下所示。

    image