Menggunakan pustaka Python dengan Glue AWS - AWS Glue

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan pustaka Python dengan Glue AWS

Anda dapat menginstal modul dan pustaka Python tambahan untuk digunakan dengan Glue AWS ETL. Untuk AWS Glue 2.0 ke atas, AWS Glue menggunakan Python Package Installer (pip3) untuk menginstal modul tambahan yang digunakan oleh Glue ETL. AWS AWS Glue menyediakan beberapa opsi untuk membawa modul Python tambahan ke lingkungan kerja AWS Glue Anda. Anda dapat menggunakan parameter “-additional-python-modules” untuk membawa modul menggunakan file roda Python, file Persyaratan (requirement.txt, AWS Glue 5.0 dan yang lebih baru), atau daftar modul Python yang dipisahkan koma.

Kompatibilitas Versi Glue dan Metode Instalasi
AWS Versi Glue Versi Python Gambar dasar versi glibc
5.1 3.11 Amazon Linux 2023 (AL2023) 2.34
5.0 3.11 Amazon Linux 2023 (AL2023) 2.34
4.0 3.10 Amazon Linux 2 (AL2) 2.26
3.0 3.7 Amazon Linux 2 (AL2) 2.26
2.0 3.7 Amazon Linux AMI (AL1) 2.17
1.0 3.6 Amazon Linux AMI (AL1) 2.17
0,9 2.7 Amazon Linux AMI (AL1) 2.17

Di bawah model tanggung jawab AWS bersama, Anda bertanggung jawab atas pengelolaan modul Python tambahan, pustaka, dan dependensinya yang Anda gunakan dengan pekerjaan Glue ETL Anda. AWS Ini termasuk menerapkan pembaruan dan patch keamanan.

AWS Glue tidak mendukung kompilasi kode asli di lingkungan kerja. Namun, pekerjaan AWS Glue berjalan dalam lingkungan Linux yang dikelola Amazon. Anda mungkin dapat memberikan dependensi asli Anda dalam bentuk yang dikompilasi melalui file roda Python. Silakan lihat tabel di atas untuk detail kompatibilitas versi AWS Glue.

Jika dependensi Python Anda secara transitif bergantung pada kode asli yang dikompilasi, Anda dapat menghadapi batasan berikut: AWS Glue tidak mendukung kompilasi kode asli di lingkungan pekerjaan. Namun, pekerjaan AWS Glue berjalan dalam lingkungan Linux yang dikelola Amazon. Anda mungkin dapat memberikan dependensi asli Anda dalam bentuk yang dikompilasi melalui distribusi roda. Silakan lihat tabel di atas untuk detail kompatibilitas versi AWS Glue.

penting

Menggunakan dependensi yang tidak kompatibel dapat mengakibatkan masalah runtime, terutama untuk pustaka dengan ekstensi asli yang harus cocok dengan arsitektur lingkungan target dan pustaka sistem. Setiap versi AWS Glue berjalan pada versi Python tertentu dengan pustaka pra-instal dan konfigurasi sistem.

Menginstal modul Python tambahan dengan pip di AWS Glue 2.0 atau yang lebih baru

AWS Glue menggunakan Python Package Installer (pip3) untuk menginstal modul tambahan yang akan digunakan oleh Glue ETL. AWS Anda dapat menggunakan --additional-python-modules parameter dengan daftar modul Python yang dipisahkan koma untuk menambahkan modul baru atau mengubah versi modul yang ada. Anda dapat menginstal distribusi kustom pustaka dengan mengunggah distribusi ke Amazon S3, lalu menyertakan jalur ke objek Amazon S3 dalam daftar modul Anda.

Anda dapat meneruskan opsi tambahan ke pip3 dengan parameter. --python-modules-installer-option Misalnya, Anda dapat meneruskan "--upgrade" untuk memutakhirkan paket yang ditentukan oleh"--additional-python-modules". Untuk contoh lainnya, lihat Membangun modul Python dari roda untuk beban kerja Spark ETL menggunakan Glue 2.0. AWS

AWS Glue mendukung penginstalan paket Python khusus menggunakan file wheel (.whl) yang disimpan di Amazon S3. Untuk menyertakan file roda dalam pekerjaan AWS Glue Anda, berikan daftar terpisah koma dari file roda Anda yang disimpan di s3 ke parameter pekerjaan. --additional-python-modules Contoh:

--additional-python-modules s3://amzn-s3-demo-bucket/path/to/package-1.0.0-py3-none-any.whl,s3://your-bucket/path/to/another-package-2.1.0-cp311-cp311-linux_x86_64.whl

Pendekatan ini juga mendukung ketika Anda memerlukan distribusi khusus, atau paket dengan dependensi asli yang telah dikompilasi sebelumnya untuk sistem operasi yang benar. Untuk contoh lainnya, lihat Membangun modul Python dari roda untuk beban kerja Spark ETL menggunakan Glue 2.0. AWS

Anda menentukan --additional-python-modules bidang parameter Job pada konsol AWS Glue atau dengan mengubah argumen pekerjaan di AWS SDK. Untuk informasi selengkapnya tentang pengaturan parameter pekerjaan, lihat Menggunakan parameter pekerjaan di pekerjaan AWS Glue.

Di AWS Glue 5.0, Anda dapat memberikan standar defacto untuk requirements.txt mengelola dependensi pustaka Python. Untuk melakukan itu, berikan dua parameter pekerjaan berikut:

  • Kunci: --python-modules-installer-option

    Nilai: -r

  • Kunci: --additional-python-modules

    Nilai: s3://path_to_requirements.txt

AWS Glue 5.0 node awalnya memuat pustaka python yang ditentukan dalam. requirements.txt

Berikut contoh requirements.txt:

awswrangler==3.9.1 elasticsearch==8.15.1 PyAthena==3.9.0 PyMySQL==1.1.1 PyYAML==6.0.2 pyodbc==5.2.0 pyorc==0.9.0 redshift-connector==2.1.3 scipy==1.14.1 scikit-learn==1.5.2 SQLAlchemy==2.0.36
penting

Harap hindari versi pustaka yang tidak disematkan di requirements.txt Anda untuk memastikan Anda memiliki lingkungan AWS Glue yang andal dan deterministik untuk pekerjaan Anda.

Saat Anda menggunakan roda untuk dependensi langsung, Anda dapat membawa versi dependensi transitif yang tidak kompatibel jika tidak disematkan dengan benar. Sebagai praktik terbaik, semua versi pustaka harus disematkan untuk konsistensi dalam pekerjaan AWS Glue. AWS Glue merekomendasikan untuk mengemas lingkungan python Anda ke dalam file roda untuk memastikan konsistensi dan keandalan beban kerja produksi Anda.

Untuk memperbarui atau menambahkan modul Python baru AWS Glue memungkinkan melewati --additional-python-modules parameter dengan daftar modul Python yang dipisahkan koma sebagai nilai. Misalnya untuk memperbarui/menambahkan modul scikit-learn gunakan kunci/nilai berikut:. "--additional-python-modules", "scikit-learn==0.21.3" Anda memiliki dua opsi untuk langsung mengkonfigurasi modul python.

  • Modul Python yang disematkan (disarankan)

    "--additional-python-modules", "scikit-learn==0.21.3,ephem==4.1.6"

  • Modul Python yang tidak disematkan: (Tidak disarankan untuk Beban Kerja Produksi)

    "--additional-python-modules", "scikit-learn>==0.20.0,ephem>=4.0.0"

    ATAU

    "--additional-python-modules", "scikit-learn,ephem"

penting

Saat mengonfigurasi modul python secara langsung, --additional-python-modules AWS Glue merekomendasikan untuk menggunakan versi pustaka yang disematkan untuk memastikan konsistensi dalam lingkungan kerja AWS Glue. Menggunakan versi pustaka yang tidak disematkan, menarik versi terbaru dari modul python, namun ini dapat memperkenalkan perubahan yang melanggar atau membawa modul python yang tidak kompatibel yang menyebabkan kegagalan pekerjaan karena kegagalan instalasi python di lingkungan kerja Glue. AWS Kami menyarankan pelanggan untuk tidak menggunakan versi pustaka yang tidak disematkan untuk beban kerja produksi. Sebagai praktik terbaik, AWS Glue merekomendasikan untuk mengemas lingkungan python Anda ke dalam file roda untuk memastikan konsistensi dan keandalan beban kerja produksi Anda.

Termasuk file Python dengan fitur asli PySpark

AWS Glue menggunakan PySpark untuk menyertakan file Python dalam pekerjaan AWS Glue ETL. Anda akan ingin menggunakan --additional-python-modules untuk mengelola dependensi Anda bila tersedia. Anda dapat menggunakan parameter --extra-py-files pekerjaan untuk menyertakan file Python. Dependensi harus di-host di Amazon S3 dan nilai argumen harus berupa daftar jalur Amazon S3 yang dibatasi koma tanpa spasi. Fungsionalitas ini berperilaku seperti manajemen ketergantungan Python yang akan Anda gunakan dengan Spark. Untuk informasi selengkapnya tentang manajemen ketergantungan Python di Spark, lihat halaman Menggunakan Fitur PySpark Asli di dokumentasi Apache Spark. --extra-py-filesberguna dalam kasus di mana kode tambahan Anda tidak dikemas, atau saat Anda memigrasikan program Spark dengan rantai alat yang ada untuk mengelola dependensi. Agar alat ketergantungan Anda dapat dipertahankan, Anda harus menggabungkan dependensi Anda sebelum mengirimkan.

Skrip pemrograman yang menggunakan transformasi visual

Saat Anda membuat pekerjaan AWS Glue menggunakan antarmuka visual AWS Glue Studio, Anda dapat mengubah data Anda dengan node transformasi data terkelola dan transformasi visual khusus. Untuk informasi selengkapnya tentang node transformasi data terkelola, lihatTransformasi data dengan transformasi AWS Glue terkelola. Untuk informasi selengkapnya tentang transformasi visual kustom, lihat Mengubah data dengan transformasi visual kustom . Skrip yang menggunakan transformasi visual hanya dapat dihasilkan ketika Bahasa pekerjaan Anda diatur untuk menggunakan Python.

Saat membuat pekerjaan AWS Glue menggunakan transformasi visual, AWS Glue Studio akan menyertakan transformasi ini di lingkungan runtime menggunakan --extra-py-files parameter dalam konfigurasi pekerjaan. Untuk informasi selengkapnya tentang parameter pekerjaan, lihatMenggunakan parameter pekerjaan dalam pekerjaan AWS Glue. Saat membuat perubahan pada skrip atau lingkungan runtime yang dihasilkan, Anda harus mempertahankan konfigurasi pekerjaan ini agar skrip Anda berhasil berjalan.

Pustaka ritsleting untuk dimasukkan

Kecuali sebuah perpustakaan terkandung dalam satu file .py, ia harus dikemas dalam sebuah arsip .zip. Direktori paket harus berada pada akar dari arsip, dan harus berisi file __init__.py untuk paket. Python kemudian akan dapat mengimpor paket tersebut dengan cara normal.

Jika perpustakaan anda hanya terdiri dari sebuah modul Python tunggal dalam satu file .py, Anda tidak perlu menempatkannya dalam sebuah file .zip.

Memuat pustaka Python di notebook Glue Studio AWS

Untuk menentukan library Python di notebook AWS Glue Studio, lihat Menginstal modul Python tambahan.

Memuat pustaka Python di titik akhir pengembangan di Glue 0.9/1.0 AWS

Jika Anda menggunakan set perpustakaan yang berbeda untuk skrip ETL yang berbeda, maka Anda dapat mengatur titik akhir pengembangan terpisah untuk setiap set, atau Anda dapat menimpa file .zip perpustakaan yang dimuat titik akhir pengembangan Anda setiap kali Anda beralih skrip.

Anda dapat menggunakan konsol untuk menentukan satu atau beberapa perpustakaan file .zip untuk sebuah titik akhir pengembangan ketika Anda membuatnya. Setelah menetapkan nama dan IAM role, pilih Perpustakaan Skrip dan parameter tugas (opsional) dan masukkan path Amazon S3 lengkap ke file .zip perpustakaan Anda dalam kotak path perpustakaan Python. Contoh:

s3://bucket/prefix/site-packages.zip

Jika Anda mau, Anda dapat menentukan beberapa path lengkap ke file, memisahkannya dengan koma tetapi tanpa spasi, seperti ini:

s3://bucket/prefix/lib_A.zip,s3://bucket_B/prefix/lib_X.zip

Jika Anda kemudian memperbarui file .zip, Anda dapat menggunakan konsol untuk mengimpornya kembali ke titik akhir pengembangan Anda. Arahkan ke titik akhir developer yang dimaksud, centang kotak di sampingnya, dan pilih Memperbarui perpustakaan ETL dari menu Tindakan.

Dengan cara yang sama, Anda dapat menentukan file perpustakaan menggunakan AWS Glue APIs. Ketika Anda membuat sebuah titik akhir pengembangan dengan memanggil CreateDevEndpoint tindakan (Python: create_dev_endpoint), Anda dapat menentukan satu atau beberapa path lengkap ke perpustakaan di parameter ExtraPythonLibsS3Path, dalam panggilan yang terlihat seperti ini:

dep = glue.create_dev_endpoint( EndpointName="testDevEndpoint", RoleArn="arn:aws:iam::123456789012", SecurityGroupIds="sg-7f5ad1ff", SubnetId="subnet-c12fdba4", PublicKey="ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtp04H/y...", NumberOfNodes=3, ExtraPythonLibsS3Path="s3://bucket/prefix/lib_A.zip,s3://bucket_B/prefix/lib_X.zip")

Ketika Anda memperbarui titik akhir pengembangan, Anda juga dapat memperbarui perpustakaan yang dimuatnya menggunakan objek DevEndpointCustomLibraries dan pengaturan parameter UpdateEtlLibraries untuk True ketika memanggil UpdateDevEndpoint (update_dev_endpoint).

Menggunakan pustaka Python dalam pekerjaan atau JobRun

Ketika Anda membuat sebuah Tugas baru pada konsol, Anda dapat menentukan satu atau beberapa perperpustakaanan file .zip dengan memilih Perpustakaan skrip dan parameter tugas (opsional) dan memasukkan path perpustakaan Amazon S3 lengkap dengan cara yang sama saat membuat titik akhir pengembangan:

s3://bucket/prefix/lib_A.zip,s3://bucket_B/prefix/lib_X.zip

Jika Anda memanggil CreateJob (create_job), Anda dapat menentukan satu atau beberapa path lengkap ke perpustakaan default menggunakan parameter --extra-py-files default, seperti ini:

job = glue.create_job(Name='sampleJob', Role='Glue_DefaultRole', Command={'Name': 'glueetl', 'ScriptLocation': 's3://my_script_bucket/scripts/my_etl_script.py'}, DefaultArguments={'--extra-py-files': 's3://bucket/prefix/lib_A.zip,s3://bucket_B/prefix/lib_X.zip'})

Kemudian ketika Anda memulai JobRun, Anda dapat mengganti pengaturan pustaka default dengan yang berbeda:

runId = glue.start_job_run(JobName='sampleJob', Arguments={'--extra-py-files': 's3://bucket/prefix/lib_B.zip'})

Analisis dependensi Python secara proaktif

Untuk secara proaktif mengidentifikasi potensi masalah ketergantungan sebelum menerapkan ke AWS Glue, Anda dapat menggunakan alat analisis ketergantungan untuk memvalidasi paket Python Anda terhadap lingkungan Glue target Anda. AWS

AWS menyediakan alat analisa ketergantungan Python open-source yang dirancang khusus untuk lingkungan Glue. AWS Alat ini tersedia di repositori sampel AWS Glue dan dapat digunakan secara lokal untuk memvalidasi dependensi Anda sebelum penerapan.

Analisis ini membantu memastikan dependensi Anda mengikuti praktik yang disarankan untuk menyematkan semua versi pustaka untuk penerapan produksi yang konsisten. Untuk lebih jelasnya, silakan lihat README alat.

AWS Glue Python Dependency Analyzer membantu mengidentifikasi dependensi yang tidak disematkan dan konflik versi dengan mensimulasikan instalasi pip dengan batasan khusus platform yang sesuai dengan lingkungan Glue target Anda. AWS

# Analyze a single Glue job python glue_dependency_analyzer.py -j my-glue-job # Analyze multiple jobs with specific AWS configuration python glue_dependency_analyzer.py -j job1 -j job2 --aws-profile production --aws-region us-west-2

Alat ini akan menandai:

  • Dependensi yang tidak disematkan yang dapat menginstal versi berbeda di seluruh proses pekerjaan

  • Konflik versi antar paket

  • Dependensi tidak tersedia untuk lingkungan Glue AWS target Anda

Amazon Q Developer adalah asisten percakapan yang didukung kecerdasan buatan (AI) generatif yang dapat membantu Anda memahami, membangun, memperluas, dan mengoperasikan AWS aplikasi. Anda dapat mengunduhnya dengan mengikuti petunjuk di Panduan Memulai untuk Amazon Q.

Amazon Q Developer dapat digunakan untuk menganalisis dan memperbaiki kegagalan pekerjaan karena ketergantungan python. Kami menyarankan untuk menggunakan prompt berikut dengan mengganti <Job-Name>placeholder pekerjaan dengan nama pekerjaan lem Anda.

I have an AWS Glue job named <Job-Name> that has failed due to Python module installation conflicts. Please assist in diagnosing and resolving this issue using the following systematic approach. Proceed once sufficient information is available. Objective: Implement a fix that addresses the root cause module while minimizing disruption to the existing working environment. Step 1: Root Cause Analysis • Retrieve the most recent failed job run ID for the specified Glue job • Extract error logs from CloudWatch Logs using the job run ID as a log stream prefix • Analyze the logs to identify: • The recently added or modified Python module that triggered the dependency conflict • The specific dependency chain causing the installation failure • Version compatibility conflicts between required and existing modules Step 2: Baseline Configuration Identification • Locate the last successful job run ID prior to the dependency failure • Document the Python module versions that were functioning correctly in that baseline run • Establish the compatible version constraints for conflicting dependencies Step 3: Targeted Resolution Implementation • Apply pinning by updating the job's additional_python_modules parameter • Pin only the root cause module and its directly conflicting dependencies to compatible versions, and do not remove python modules unless necessary • Preserve flexibility for non-conflicting modules by avoiding unnecessary version constraints • Deploy the configuration changes with minimal changes to the existing configuration and execute a validation test run. Do not change the Glue versions. Implementation Example: Scenario: Recently added pandas==2.0.0 to additional_python_modules Error: numpy version conflict (pandas 2.0.0 requires numpy>=1.21, but existing job code requires numpy<1.20) Resolution: Update additional_python_modules to "pandas==1.5.3,numpy==1.19.5" Rationale: Use pandas 1.5.3 (compatible with numpy 1.19.5) and pin numpy to last known working version Expected Outcome: Restore job functionality with minimal configuration changes while maintaining system stability.

Prompt menginstruksikan Q untuk:

  1. Ambil ID run pekerjaan gagal terbaru

  2. Temukan log dan detail terkait

  3. Temukan pekerjaan yang berhasil dijalankan untuk mendeteksi paket Python yang diubah

  4. Buat perbaikan konfigurasi apa pun dan picu uji coba lain

Modul Python sudah disediakan di Glue AWS

Untuk mengubah versi modul yang disediakan ini, berikan versi baru dengan parameter --additional-python-modules pekerjaan.

AWS Glue version 5.0

AWS Glue versi 5.0 menyertakan modul Python berikut di luar kotak:

  • aiobotocore==2.13.1

  • aiohappyeyeballs==2.3.5

  • aiohttp = 3.10.1

  • aioitertools==0.11.0

  • aiosignal== 1.3.1

  • appdirs==1.4.4

  • attrs==24.2.0

  • boto3 = 1.34.131

  • botocore==1.34.131

  • sertifikasi = 2024.7.4

  • charset-normalizer = 3.3.2

  • kontur ==1.2.1

  • pengendara sepeda = 0.12.1

  • alat font==4.53.1

  • daftar beku==1.4.1

  • fsspec==2024.6.1

  • idna==2.10

  • jmespath==0.10.0

  • kaleido==0.2.1

  • kiwisolver==1.4.5

  • matplotlib==3.9.0

  • multidikt = 6.0.5

  • numpy = 1.26.4

  • pengepakan==24.1

  • panda ==2.2.2

  • bantal==10.4.0

  • pip=23.0.1

  • plot== 5.23.0

  • pyarrow = 17.0.0

  • pyparsing = 3.1.2

  • python-dateutil==2.9.0.post0

  • pytz==2024.1

  • permintaan==2.32.2

  • s3fs==2024.6.1

  • s3transfer = 0.10.2

  • pelautan==0.13.2

  • setuptool=59.6.0

  • enam==1.16.0

  • keuletan==9.0.0

  • tzdata ==2024.1

  • urllib3==1.25.10

  • virtualenv = 20.4.0

  • bungkus=1.16.0

  • yarl=1.9.4

AWS Glue version 4.0

AWS Glue versi 4.0 menyertakan modul Python berikut di luar kotak:

  • aiobotocore==2.4.1

  • aiohttp = 3.8.3

  • aioitertools==0.11.0

  • aiosignal== 1.3.1

  • batas waktu asinkron = 4.0.2

  • asynctest = 0.13.0

  • attrs==22.2.0

  • avro-python3 = 1.10.2

  • boto3 = 1.24.70

  • botocore==1.27.59

  • sertifikasi = 2021.5.30

  • chardet==3.0.4

  • charset-normalizer = 2.1.1

  • klik==8.1.3

  • cycler==0.10.0

  • Cython==0.29.32

  • fsspec==2021.8.1

  • idna==2.10

  • importlib-metadata== 5.0.0

  • jmespath=0.10.0

  • joblib==1.0.1

  • kaleido==0.2.1

  • kiwisolver==1.4.4

  • matplotlib==3.4.3

  • mpmath==1.2.1

  • multidikt = 6.0.4

  • nltk== 3.7

  • numpy = 1.23.5

  • pengepakan==23.0

  • panda ==1.5.1

  • patsy==0.5.1

  • Bantal==9.4.0

  • pip=23.0.1

  • plot== 5.16.0

  • pmdarima==2.0.1

  • ptvsd==4.3.2

  • pyarrow = 10.0.0

  • pydevd=2.5.0

  • pyhocon==0.3.58

  • PyMySQL=1.0.2

  • pyparsing = 2.4.7

  • python-dateutil==2.8.2

  • pytz==2021.1

  • Pyyaml==6.0.1

  • regex==2022.10.31

  • requests==2.23.0

  • s3fs==2022.11.0

  • s3transfer==0.6.0

  • scikit-belajar==1.1.3

  • scipy==1.9.3

  • setuptool== 49.1.3

  • enam==1.16.0

  • statsmodels==0.13.5

  • subprocess32==3.5.4

  • simpati=1,8

  • tbats==1.1.0

  • threadpoolctl = 3.1.0

  • tqdm = 4.64.1

  • typing_extensions==4.4.0

  • urllib3==1.25.11

  • roda = 0.37.0

  • bungkus = 1.14.1

  • yarl=1.8.2

  • ritsleting = 3.10.0

AWS Glue version 3.0

AWS Glue versi 3.0 menyertakan modul Python berikut di luar kotak:,

  • aiobotocore==1.4.2

  • aiohttp = 3.8.3

  • aioitertools==0.11.0

  • aiosignal== 1.3.1

  • batas waktu asinkron = 4.0.2

  • asynctest = 0.13.0

  • attrs==22.2.0

  • avro-python3 = 1.10.2

  • boto3 = 1.18.50

  • botocore==1.21.50

  • sertifikasi = 2021.5.30

  • chardet==3.0.4

  • charset-normalizer = 2.1.1

  • klik==8.1.3

  • cycler==0.10.0

  • Cython==0.29.4

  • dokumen==0.17.1

  • enum34==1.1.10

  • daftar beku==1.3.3

  • fsspec==2021.8.1

  • idna==2.10

  • importlib-metadata== 6.0.0

  • jmespath=0.10.0

  • joblib==1.0.1

  • kiwisolver==1.3.2

  • matplotlib==3.4.3

  • mpmath==1.2.1

  • multidikt = 6.0.4

  • nltk = 3.6.3

  • numpy = 1.19.5

  • pengepakan==23.0

  • panda ==1.3.2

  • patsy==0.5.1

  • Bantal==9.4.0

  • pip=23.0

  • pmdarima==1.8.2

  • ptvsd==4.3.2

  • pyarrow = 5.0.0

  • pydevd=2.5.0

  • pyhocon==0.3.58

  • PyMySQL=1.0.2

  • pyparsing = 2.4.7

  • python-dateutil==2.8.2

  • pytz==2021.1

  • Pyyaml==5.4.1

  • regex==2022.10.31

  • requests==2.23.0

  • s3fs==2021.8.1

  • s3transfer==0.5.0

  • scikit-belajar==0.24.2

  • scipy==1.7.1

  • enam==1.16.0

  • Percikan = 1.0

  • statsmodels==0.12.2

  • subprocess32==3.5.4

  • simpati=1,8

  • tbats==1.1.0

  • threadpoolctl = 3.1.0

  • tqdm = 4.64.1

  • typing_extensions==4.4.0

  • urllib3==1.25.11

  • roda = 0.37.0

  • bungkus = 1.14.1

  • yarl=1.8.2

  • ritsleting = 3.12.0

AWS Glue version 2.0

AWS Glue versi 2.0 menyertakan modul Python berikut di luar kotak:

  • avro-python3 = 1.10.0

  • awscli==1.27.60

  • boto3==1.12.4

  • botocore==1.15.4

  • certifi==2019.11.28

  • chardet==3.0.4

  • klik==8.1.3

  • colorama==0.4.4

  • cycler==0.10.0

  • Cython==0.29.15

  • docutils==0.15.2

  • enum34==1.1.9

  • fsspec==0.6.2

  • idna==2.9

  • importlib-metadata== 6.0.0

  • jmespath==0.9.4

  • joblib==0.14.1

  • kiwisolver==1.1.0

  • matplotlib==3.1.3

  • mpmath==1.1.0

  • nltk=3,5

  • numpy==1.18.1

  • pandas==1.0.1

  • patsy==0.5.1

  • pmdarima==1.5.3

  • ptvsd==4.3.2

  • pyarrow==0.16.0

  • pyasn1==0.4.8

  • pydevd==1.9.0

  • pyhocon==0.3.54

  • PyMySQL=0.9.3

  • pyparsing==2.4.6

  • python-dateutil==2.8.1

  • pytz==2019.3

  • Pyyaml = 5.3.1

  • regex==2022.10.31

  • requests==2.23.0

  • rsa = 4.7.2

  • s3fs==0.4.0

  • s3transfer==0.3.3

  • scikit-learn==0.22.1

  • scipy==1.4.1

  • setuptools==45.2.0

  • six==1.14.0

  • Percikan = 1.0

  • statsmodels==0.11.1

  • subprocess32==3.5.4

  • sympy==1.5.1

  • tbats==1.0.9

  • tqdm = 4.64.1

  • mengetik-ekstensi== 4.4.0

  • urllib3==1.25.8

  • roda==0.35.1

  • ritsleting = 3.12.0