Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan pustaka Python dengan Tanpa Server EMR
Saat Anda menjalankan PySpark pekerjaan di aplikasi Amazon EMR Tanpa Server, Anda dapat mengemas berbagai pustaka Python sebagai dependensi. Untuk melakukan ini, Anda dapat menggunakan fitur Python asli, membangun lingkungan virtual, atau langsung mengkonfigurasi PySpark pekerjaan Anda untuk menggunakan pustaka Python. Halaman ini mencakup setiap pendekatan.
Menggunakan fitur Python asli
Saat Anda mengatur konfigurasi berikut, Anda dapat menggunakan PySpark untuk mengunggah file Python (), paket Python zip (.py
), dan file .egg
Egg .zip
() ke pelaksana Spark.
--conf spark.submit.pyFiles=s3://
amzn-s3-demo-bucket
/EXAMPLE-PREFIX
/<.py|.egg|.zip file>
Untuk detail selengkapnya tentang cara menggunakan lingkungan virtual Python untuk PySpark pekerjaan, lihat Menggunakan Fitur PySpark Asli
Membangun lingkungan virtual Python
Untuk mengemas beberapa pustaka Python untuk suatu PySpark pekerjaan, Anda dapat membuat lingkungan virtual Python yang terisolasi.
-
Untuk membangun lingkungan virtual Python, gunakan perintah berikut. Contoh yang ditampilkan menginstal paket
scipy
danmatplotlib
ke dalam paket lingkungan virtual dan menyalin arsip ke lokasi Amazon S3.penting
Anda harus menjalankan perintah berikut di lingkungan Amazon Linux 2 yang serupa dengan versi Python yang sama seperti yang Anda gunakan di EMR Tanpa Server, yaitu, Python 3.7.10 untuk Amazon rilis 6.6.0. EMR Anda dapat menemukan contoh Dockerfile di repositori Sampel EMRTanpa Server
. GitHub # initialize a python virtual environment python3 -m venv pyspark_venvsource source pyspark_venvsource/bin/activate # optionally, ensure pip is up-to-date pip3 install --upgrade pip # install the python packages pip3 install scipy pip3 install matplotlib # package the virtual environment into an archive pip3 install venv-pack venv-pack -f -o pyspark_venv.tar.gz # copy the archive to an S3 location aws s3 cp pyspark_venv.tar.gz s3://
amzn-s3-demo-bucket
/EXAMPLE-PREFIX
/ # optionally, remove the virtual environment directory rm -fr pyspark_venvsource -
Kirimkan pekerjaan Spark dengan properti Anda yang disetel untuk menggunakan lingkungan virtual Python.
--conf spark.archives=s3://
amzn-s3-demo-bucket
/EXAMPLE-PREFIX
/pyspark_venv.tar.gz#environment --conf spark.emr-serverless.driverEnv.PYSPARK_DRIVER_PYTHON=./environment/bin/python --conf spark.emr-serverless.driverEnv.PYSPARK_PYTHON=./environment/bin/python --conf spark.executorEnv.PYSPARK_PYTHON=./environment/bin/pythonPerhatikan bahwa jika Anda tidak mengganti biner Python asli, konfigurasi kedua dalam urutan pengaturan sebelumnya adalah.
--conf spark.executorEnv.PYSPARK_PYTHON=python
Untuk informasi lebih lanjut tentang cara menggunakan lingkungan virtual Python untuk PySpark pekerjaan, lihat Menggunakan
Virtualenv. Untuk contoh lebih lanjut tentang cara mengirimkan pekerjaan Spark, lihatMenggunakan konfigurasi Spark saat Anda menjalankan EMR pekerjaan Tanpa Server.
Mengkonfigurasi PySpark pekerjaan untuk menggunakan pustaka Python
Dengan Amazon EMR merilis 6.12.0 dan yang lebih tinggi, Anda dapat langsung mengonfigurasi PySpark pekerjaan EMR Tanpa Server untuk menggunakan pustaka Python ilmu data populer seperti panda
Contoh berikut menunjukkan cara mengemas setiap pustaka Python untuk suatu PySpark pekerjaan.