全部产品
Search
文档中心

E-MapReduce:Gunakan pustaka Python pihak ketiga di dalam notebook

更新时间:Nov 10, 2025

Perpustakaan Python pihak ketiga sering digunakan untuk meningkatkan kemampuan pemrosesan dan analisis data dalam pekerjaan PySpark interaktif yang berjalan di notebook. Topik ini menjelaskan cara menginstal perpustakaan Python pihak ketiga di notebook.

Informasi latar belakang

Saat mengembangkan pekerjaan PySpark interaktif, Anda dapat memanfaatkan pustaka Python pihak ketiga agar pemrosesan dan analisis data menjadi lebih fleksibel dan mudah. Tabel berikut menjelaskan metode-metode untuk menggunakan pustaka Python pihak ketiga di dalam notebook. Pilih metode yang sesuai dengan kebutuhan Anda.

Metode

Skenario

Metode 1: Jalankan perintah pip untuk menginstal perpustakaan Python

Memproses variabel yang tidak terkait dengan Spark di dalam notebook, seperti nilai kembali yang dihitung oleh Spark atau variabel kustom.

Penting

Anda harus menginstal ulang perpustakaan setelah memulai ulang sesi notebook.

Metode 2: Buat lingkungan runtime untuk mendefinisikan lingkungan Python kustom

Anda ingin menggunakan perpustakaan Python pihak ketiga untuk memproses data dalam pekerjaan PySpark, dan Anda ingin perpustakaan tersebut sudah terinstal setiap kali sesi notebook dimulai.

Metode 3: Tambahkan konfigurasi Spark untuk membuat lingkungan Python kustom

Anda ingin menggunakan perpustakaan Python pihak ketiga untuk memproses data dalam pekerjaan PySpark. Sebagai contoh, Anda menggunakan perpustakaan Python pihak ketiga untuk mengimplementasikan komputasi terdistribusi Spark.

Prasyarat

  • Sebuah workspace telah dibuat. Untuk informasi lebih lanjut, lihat Buat Workspace.

  • Sebuah sesi notebook telah dibuat. Untuk informasi lebih lanjut, lihat Kelola Sesi Notebook.

  • Sebuah notebook telah dikembangkan. Untuk informasi lebih lanjut, lihat Kembangkan Notebook.

Prosedur

Metode 1: Jalankan perintah pip untuk menginstal perpustakaan Python

  1. Pergi ke tab konfigurasi sebuah notebook.

    1. Masuk ke Konsol E-MapReduce (EMR).

    2. Pada panel navigasi di sebelah kiri, pilih EMR Serverless > Spark.

    3. Di halaman Spark, cari workspace yang diinginkan dan klik nama workspace tersebut.

    4. Pada panel navigasi di sebelah kiri halaman EMR Serverless Spark, klik Data Development.

    5. Klik dua kali notebook yang telah Anda kembangkan.

  2. Di dalam sel Python notebook, masukkan perintah berikut untuk menginstal perpustakaan scikit-learn dan klik ikon image.

    pip install scikit-learn
  3. Tambahkan sel Python baru, masukkan perintah berikut di dalam sel, lalu klik ikon image.

    # Impor dataset dari perpustakaan scikit-learn.
    from sklearn import datasets
    
    # Muat dataset bawaan, seperti dataset Iris.
    iris = datasets.load_iris()
    X = iris.data # Data fitur.
    y = iris.tar get # Tag.
    
    # Bagi dataset.
    from sklearn.model_selection import train_test_split
    
    # Bagi dataset menjadi set pelatihan dan set pengujian.
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
    
    # Gunakan model Support Vector Machine (SVM) untuk pelatihan.
    from sklearn.svm import SVC
    
    # Buat instance klasifikasi.
    clf = SVC(kernel='linear') # Gunakan kernel linear.
    
    # Latih model.
    clf.fit(X_train, y_train)
    
    # Gunakan model yang telah dilatih untuk membuat prediksi.
    y_pred = clf.predict(X_test)
    
    # Evaluasi performa model.
    from sklearn.metrics import classification_report, accuracy_score
    
    print(classification_report(y_test, y_pred))
    print("Akurasi:", accuracy_score(y_test, y_pred))
    

    Gambar berikut menunjukkan hasilnya.

    image

Metode 2: Buat lingkungan runtime untuk mendefinisikan lingkungan Python kustom

Langkah 1: Buat lingkungan runtime

  1. Pergi ke halaman Lingkungan Runtime.

    1. Masuk ke Konsol EMR.

    2. Pada panel navigasi di sebelah kiri, pilih EMR Serverless > Spark.

    3. Di halaman Spark, temukan workspace yang diinginkan dan klik nama workspace tersebut.

    4. Pada panel navigasi di sebelah kiri halaman EMR Serverless Spark, klik Runtime Environments.

  2. Klik Create Runtime Environment.

  3. Di halaman Create Runtime Environment, konfigurasikan parameter Nama. Lalu, klik Add Library di bagian Perpustakaan.

    Untuk informasi lebih lanjut, lihat Kelola Lingkungan Runtime.

  4. Di kotak dialog Create Library, atur parameter Source Type menjadi PyPI, konfigurasikan parameter Paket PyPI, lalu klik OK.

    Tentukan nama dan versi pustaka pada bidang PyPI Package. Jika Anda tidak menentukan versi, pustaka versi terbaru akan diinstal. Contoh: scikit-learn.

  5. Klik Create.

    Sistem mulai menginisialisasi lingkungan runtime setelah Anda klik Buat.

Langkah 2: Gunakan lingkungan runtime

Catatan

Anda harus menghentikan sesi sebelum memodifikasi sesi.

  1. Pergi ke tab Sesi Notebook.

    1. Pada panel navigasi di sebelah kiri halaman EMR Serverless Spark, pilih Operation Center > Sessions.

    2. Klik tab Notebook Sessions.

  2. Temukan sesi yang diinginkan dan klik Edit di kolom Aksi.

  3. Pilih lingkungan runtime yang telah dibuat dari daftar drop-down Runtime Environment dan klik Save Changes.

  4. Di sudut kanan atas halaman, klik Start.

Langkah 3: Gunakan perpustakaan Scikit-learn untuk mengklasifikasikan data

  1. Pergi ke tab konfigurasi notebook yang diinginkan.

    1. Pada panel navigasi di sebelah kiri halaman EMR Serverless Spark, klik Data Development.

    2. Klik dua kali notebook yang telah Anda kembangkan.

  2. Tambahkan sel Python baru, masukkan perintah berikut di dalam sel, lalu klik ikon image.

    # Impor dataset dari perpustakaan scikit-learn.
    from sklearn import datasets
    
    # Muat dataset bawaan, seperti dataset Iris.
    iris = datasets.load_iris()
    X = iris.data # Data fitur.
    y = iris.tar get # Tag.
    
    # Bagi dataset.
    from sklearn.model_selection import train_test_split
    
    # Bagi dataset menjadi set pelatihan dan set pengujian.
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
    
    # Gunakan model SVM untuk pelatihan.
    from sklearn.svm import SVC
    
    # Buat instance klasifikasi.
    clf = SVC(kernel='linear') # Gunakan kernel linear.
    
    # Latih model.
    clf.fit(X_train, y_train)
    
    # Gunakan model yang telah dilatih untuk membuat prediksi.
    y_pred = clf.predict(X_test)
    
    # Evaluasi performa model.
    from sklearn.metrics import classification_report, accuracy_score
    
    print(classification_report(y_test, y_pred))
    print("Akurasi:", accuracy_score(y_test, y_pred))
    

    Gambar berikut menunjukkan hasilnya.

    image

Metode 3: Tambahkan konfigurasi Spark untuk membuat lingkungan Python kustom

Jika menggunakan metode ini, pastikan ipykernel versi 6.29 atau lebih baru dan jupyter_client versi 8.6 atau lebih baru telah diinstal. Versi Python harus 3.8 atau lebih baru, dan lingkungan harus dikemas dalam sistem Linux (arsitektur x86).

Langkah 1: Buat dan deploy lingkungan Conda

  1. Jalankan perintah berikut untuk menginstal 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. Buat lingkungan Conda untuk menggunakan Python 3.8 dan NumPy.

    # Buat lingkungan Conda dan aktifkan lingkungan.
    conda create -y -n pyspark_conda_env python=3.8
    conda activate pyspark_conda_env
    # Instal perpustakaan pihak ketiga.
    pip install numpy \
    ipykernel~=6.29 \
    jupyter_client~=8.6 \
    jieba \
    conda-pack
    # Kemas lingkungan.
    conda pack -f -o pyspark_conda_env.tar.gz

Langkah 2: Unggah file sumber daya ke OSS

Unggah paket pyspark_conda_env.tar.gz ke Object Storage Service (OSS) dan salin path lengkap OSS dari paket tersebut. Untuk informasi selengkapnya, lihat Unggahan sederhana.

Langkah 3: Konfigurasikan dan mulai sesi notebook

Catatan

Anda harus menghentikan sesi sebelum memodifikasi sesi.

  1. Pergi ke tab Sesi Notebook.

    1. Pada panel navigasi di sebelah kiri halaman EMR Serverless Spark, pilih Operation Center > Sessions.

    2. Klik tab Notebook Sessions.

  2. Temukan sesi yang diinginkan dan klik Edit di kolom Aksi.

  3. Di halaman Modifikasi Sesi Notebook, tambahkan konfigurasi berikut ke bidang Spark Configuration dan klik Save Changes.

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

    Ganti <yourBucket>/path/to dalam kode dengan path OSS yang telah Anda salin pada langkah sebelumnya.

  4. Di sudut kanan atas halaman, klik Start.

Langkah 4: Gunakan alat Jieba untuk memproses data teks

Catatan

Jieba adalah perpustakaan Python pihak ketiga untuk segmentasi teks Cina. Untuk informasi tentang lisensi, lihat LICENSE.

  1. Pergi ke tab konfigurasi notebook yang diinginkan.

    1. Pada panel navigasi di sebelah kiri halaman EMR Serverless Spark, klik Data Development.

    2. Klik dua kali notebook yang telah Anda kembangkan.

  2. Di dalam sel Python baru, masukkan perintah berikut untuk menggunakan alat Jieba memisahkan teks Cina dan klik ikon image.

    import jieba
    
    strs = ["EMR Serverless Spark adalah layanan serverless sepenuhnya dikelola untuk pemrosesan data skala besar dan analisis.", "EMR Serverless Spark mendukung layanan ujung-ke-ujung yang efisien, seperti pengembangan tugas, debugging, penjadwalan, dan O&M.", "EMR Serverless Spark mendukung penjadwalan sumber daya dan penskalaan dinamis berdasarkan beban pekerjaan."]
    
    sc.parallelize(strs).flatMap(lambda s: jieba.cut(s, use_paddle=True)).collect()

    Gambar berikut menunjukkan hasilnya.

    image