Mengkonfigurasi sesi AWS Glue interaktif untuk Jupyter dan notebook AWS Glue Studio - AWS Glue

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

Mengkonfigurasi sesi AWS Glue interaktif untuk Jupyter dan notebook AWS Glue Studio

Pengantar Jupyter Magics

Jupyter Magics adalah perintah yang dapat dijalankan di awal sel atau sebagai seluruh badan sel. Sihir dimulai dengan % untuk sihir garis dan untuk sihir sel. %% Line-magics seperti %region dan %connections dapat dijalankan dengan beberapa sihir dalam sel, atau dengan kode yang disertakan dalam badan sel seperti contoh berikut.

%region us-east-2 %connections my_rds_connection dy_f = glue_context.create_dynamic_frame.from_catalog(database='rds_tables', table_name='sales_table')

Sihir sel harus menggunakan seluruh sel dan dapat memiliki rentang perintah beberapa baris. Contoh di bawah %%sql ini.

%%sql select * from rds_tables.sales_table

Sihir didukung oleh sesi AWS Glue interaktif untuk Jupyter

Berikut ini adalah sihir yang dapat Anda gunakan dengan sesi AWS Glue interaktif untuk notebook Jupyter.

Sesi sihir

Nama Tipe Deskripsi
%help T/A Kembalikan daftar deskripsi dan jenis input untuk semua perintah ajaib.
%profile String Tentukan profil dalam AWS konfigurasi Anda untuk digunakan sebagai penyedia kredensyal.
%region String

Tentukan Wilayah AWS; di mana untuk menginisialisasi sesi. Default dari ~/.aws/configure.

Contoh: %region us-west-1

%idle_timeout Int

Jumlah menit tidak aktif setelah sesi akan habis setelah sel dieksekusi. Nilai batas waktu idle default untuk ETL sesi Spark adalah batas waktu default, 2880 menit (48 jam). Untuk jenis sesi lainnya, lihat dokumentasi untuk jenis sesi tersebut.

Contoh: %idle_timeout 3000

%session_id T/A Kembalikan ID sesi untuk sesi yang sedang berjalan.
%session_id_prefix String

Tentukan string yang akan mendahului semua sesi IDs dalam format [session_id_prefix] - [session_id]. Jika ID sesi tidak disediakan, acak UUID akan dihasilkan. Keajaiban ini tidak didukung saat Anda menjalankan Notebook Jupyter di. AWS Glue Studio

Contoh: %session_id_prefix 001

%status Mengembalikan status AWS Glue sesi saat ini termasuk durasi, konfigurasi dan mengeksekusi pengguna/peran.
%stop_session Hentikan sesi saat ini.
%list_sessions Daftar semua sesi yang sedang berjalan berdasarkan nama dan ID.
%session_type String

Menetapkan jenis sesi ke salah satu Streaming,ETL, atau Ray.

Contoh: %session_type Streaming

%glue_version String

Versi yang AWS Glue akan digunakan oleh sesi ini.

Contoh: %glue_version 3.0

Sihir untuk memilih jenis pekerjaan

Nama Tipe Deskripsi
%streaming String Mengubah jenis sesi ke AWS Glue Streaming.
%etl String Mengubah jenis sesi menjadi AWS GlueETL.
%glue_ray String Mengubah jenis sesi menjadi AWS Glue untuk Ray. Lihat Magics didukung oleh sesi interaktif AWS Glue Ray.

AWS Glueuntuk sihir konfigurasi Spark

%%configureKeajaiban adalah kamus berformat json yang terdiri dari semua parameter konfigurasi untuk sesi. Setiap parameter dapat ditentukan di sini atau melalui sihir individu.

Nama Tipe Deskripsi
%%configure Kamus

Tentukan kamus JSON berformat yang terdiri dari semua parameter konfigurasi untuk sesi. Setiap parameter dapat ditentukan di sini atau melalui sihir individu.

Untuk daftar parameter dan contoh tentang cara menggunakan%%configure, lihat tabel di bawah ini: Menggunakan %%configure.

%iam_role String

Tentukan IAM peran ARN untuk menjalankan sesi Anda. Default dari ~/.aws/configure.

Contoh: %iam_role AWSGlueServiceRole

%number_of_workers Int

Jumlah pekerja dari worker_type yang ditentukan yang dialokasikan saat pekerjaan berjalan. worker_typeharus diatur juga. number_of_workersDefaultnya adalah 5.

Contoh: %number_of_workers 2

%additional_python_modules Daftar

Daftar modul Python tambahan yang dipisahkan koma untuk disertakan dalam cluster Anda (bisa dari PyPI atau S3).

Contoh:%additional_python_modules pandas, numpy.

%%tags String

Menambahkan tag ke sesi. Tentukan tag dalam kurung kurawal {}. Setiap pasangan nama tag diapit tanda kurung (“”) dan dipisahkan dengan koma (,).

%%tags {"billing":"Data-Platform", "team":"analytics"}

Gunakan %status sihir untuk melihat tag yang terkait dengan sesi.

%status
Session ID: <sessionId> Status: READY Role: <example-role> CreatedOn: 2023-05-26 11:12:17.056000-07:00 GlueVersion: 3.0 Job Type: glueetl Tags: {'owner':'example-owner', 'team':'analytics', 'billing':'Data-Platform'} Worker Type: G.4X Number of Workers: 5 Region: us-west-2 Applying the following default arguments: --glue_kernel_version 0.38.0 --enable-glue-datacatalog true Arguments Passed: ['--glue_kernel_version: 0.38.0', '--enable-glue-datacatalog: true']
%%assume_role Kamus

Tentukan kamus berformat json atau ARN string IAM peran untuk membuat sesi akses lintas akun.

Contoh denganARN:

%%assume_role { 'arn:aws:iam::XXXXXXXXXXXX:role/AWSGlueServiceRole' }

Contoh dengan kredensyal:

%%assume_role {{ "aws_access_key_id" = "XXXXXXXXXXXX", "aws_secret_access_key" = "XXXXXXXXXXXX", "aws_session_token" = "XXXXXXXXXXXX" }}

%%konfigurasi argumen sihir sel

%%configureKeajaiban adalah kamus berformat json yang terdiri dari semua parameter konfigurasi untuk sesi. Setiap parameter dapat ditentukan di sini atau melalui sihir individu. Lihat di bawah untuk contoh argumen yang didukung oleh sihir %%configure sel. Gunakan -- awalan untuk menjalankan argumen yang ditentukan untuk pekerjaan tersebut. Contoh:

%%configure { "--user-jars-first": "true", "--enable-glue-datacatalog": "false" }

Untuk informasi selengkapnya tentang parameter pekerjaan, lihatParameter Tugas.

Konfigurasi Sesi

Parameter Jenis Deskripsi
max_retries Int

Jumlah waktu maksimum berapa kali percobaan yang bisa dilakukan untuk tugas ini jika gagal.

%%configure { "max_retries": "0" }
max_concurrent_runs Int Jumlah maksimum proses bersamaan yang diizinkan untuk suatu pekerjaan.

Contoh:

%%configure { "max_concurrent_runs": "3" }

Parameter sesi

Parameter Jenis Deskripsi
--enable-spark-ui Boolean Aktifkan Spark UI untuk memantau dan men-debug pekerjaan AWS GlueETL.
%%configure { "--enable-spark-ui": "true" }
--spark-event-logs-path String Menentukan jalur Amazon S3. Saat menggunakan fitur pemantauan UI Spark.

Contoh:

%%configure { "--spark-event-logs-path": "s3://path/to/event/logs/" }
--script_location String Menentukan jalur S3 ke skrip yang mengeksekusi pekerjaan.

Contoh:

%%configure { "script_location": "s3://new-folder-here" }
--SECURITY_CONFIGURATION String

Nama konfigurasi AWS Glue keamanan

Contoh:

%%configure { "--SECURITY_CONFIGURATION": security-configuration-name, }
--job-language String Bahasa pemrograman skrip. Menerima nilai 'scala' atau 'python'. Defaultnya adalah 'python'.

Contoh:

%%configure { "--job-language": "scala" }
--class String Kelas Scala yang berfungsi sebagai titik masuk untuk skrip Scala Anda. Defaultnya adalah null.

Contoh:

%%configure { "--class": "className" }
--user-jars-first Boolean Memprioritaskan JAR file tambahan pelanggan di classpath. Defaultnya adalah null.

Contoh:

%%configure { "--user-jars-first": "true" }
--use-postgres-driver Boolean Memprioritaskan JDBC driver Postgres di jalur kelas untuk menghindari konflik dengan pengemudi. Amazon Redshift JDBC Defaultnya adalah null.

Contoh:

%%configure { "--use-postgres-driver": "true" }
--extra-files Daftar (string) Jalur Amazon S3 ke file tambahan, seperti file konfigurasi yang AWS Glue menyalin ke direktori kerja skrip Anda sebelum menjalankannya.

Contoh:

%%configure { "--extra-files": "s3://path/to/additional/files/" }
--job-bookmark-option String Mengontrol perilaku bookmark pekerjaan. Menerima nilai 'job-bookmark-enable', '' atau job-bookmark-disable 'job-bookmark-pause'. Defaultnya adalah job-bookmark-disable ''.

Contoh:

%%configure { "--job-bookmark-option": "job-bookmark-enable" }
--TempDir String Menentukan jalur Amazon S3 ke bucket yang dapat digunakan sebagai direktori sementara untuk pekerjaan itu. Defaultnya adalah null.

Contoh:

%%configure { "--TempDir": "s3://path/to/temp/dir" }
--enable-s3-parquet-optimized-committer Boolean Mengaktifkan committer yang dioptimalkan EMRFS Amazon S3 untuk menulis data Parket ke Amazon S3. Default adalah 'benar'.

Contoh:

%%configure { "--enable-s3-parquet-optimized-committer": "false" }
--enable-rename-algorithm-v2 Boolean Menetapkan versi algoritma EMRFS rename ke versi 2. Default adalah 'benar'.

Contoh:

%%configure { "--enable-rename-algorithm-v2": "true" }
--enable-glue-datacatalog Boolean Memungkinkan Anda menggunakan Katalog AWS Glue Data sebagai metastore Apache Spark Hive.

Contoh:

%%configure { --"enable-glue-datacatalog": "true" }
--enable-metrics Boolean Mengaktifkan pengumpulan metrik untuk pembuatan profil pekerjaan untuk menjalankan pekerjaan. Defaultnya adalah 'palsu'.

Contoh:

%%configure { "--enable-metrics": "true" }
--enable-continuous-cloudwatch-log Boolean Mengaktifkan pencatatan berkelanjutan secara real-time untuk AWS Glue pekerjaan. Defaultnya adalah 'palsu'.

Contoh:

%%configure { "--enable-continuous-cloudwatch-log": "true" }
--enable-continuous-log-filter Boolean Menentukan filter standar atau tidak ada filter saat Anda membuat atau mengedit pekerjaan diaktifkan untuk logging berkelanjutan. Default adalah 'benar'.

Contoh:

%%configure { "--enable-continuous-log-filter": "true" }
--continuous-log-stream-prefix String Menentukan awalan aliran Amazon CloudWatch log kustom untuk pekerjaan yang diaktifkan untuk logging berkelanjutan. Defaultnya adalah null.

Contoh:

%%configure { "--continuous-log-stream-prefix": "prefix" }
--continuous-log-conversionPattern String Menentukan pola log konversi kustom untuk pekerjaan yang diaktifkan untuk logging berkelanjutan. Defaultnya adalah null.

Contoh:

%%configure { "--continuous-log-conversionPattern": "pattern" }
--conf String Mengontrol parameter konfigurasi Spark. Ini untuk kasus penggunaan lanjutan. Gunakan --conf sebelum setiap parameter. Contoh:
%%configure { "--conf": "spark.hadoop.hive.metastore.glue.catalogid=123456789012 --conf hive.metastore.client.factory.class=com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory --conf hive.metastore.schema.verification=false" }
--enable-auto-scaling String

Aktifkan auto-scaling. Konfigurasikan jumlah pekerja dan atur auto-scaling ke true sebelum memulai sesi. Contoh:

%%configure { "--enable-auto-scaling": "true ", "number_of_workers": "8" }

Atau, sebagai alternatif, Anda dapat menggunakan %%configure dan%number_of_workers:

%%configure {"--enable-auto-scaling": "true"} %number_of_workers 8

Pekerjaan percikan (ETL& streaming) sihir

Nama Tipe Deskripsi
%worker_type String Standar, G.1X, atau G.2X. number_of_workersharus diatur juga. Worker_type default adalah G.1X.
%connections Daftar

Tentukan daftar koneksi yang dipisahkan koma untuk digunakan dalam sesi.

Contoh:

%connections my_rds_connection dy_f = glue_context.create_dynamic_frame.from_catalog(database='rds_tables', table_name='sales_table')
%extra_py_files Daftar Daftar terpisah koma file Python tambahan dari Amazon S3.
%extra_jars Daftar Daftar stoples tambahan yang dipisahkan koma untuk dimasukkan ke dalam cluster.
%spark_conf String Tentukan konfigurasi percikan khusus untuk sesi Anda. Misalnya, %spark_conf spark.serializer=org.apache.spark.serializer.KryoSerializer.

Pekerjaan Magics for Ray

Nama Tipe Deskripsi
%min_workers Int Jumlah minimum pekerja yang dialokasikan untuk pekerjaan Ray. Default: 1.

Contoh: %min_workers 2

%object_memory_head Int Persentase memori bebas pada node kepala instance setelah awal yang hangat. Minimal: 0. Maksimal: 100.

Contoh: %object_memory_head 100

%object_memory_worker Int Persentase memori bebas pada node pekerja instance setelah awal yang hangat. Minimal: 0. Maksimal: 100.

Contoh: %object_memory_worker 100

Sihir aksi

Nama Tipe Deskripsi
%%sql String

Jalankan SQL kode. Semua baris setelah %%sql sihir awal akan diteruskan sebagai bagian dari SQL kode.

Contoh: %%sql select * from rds_tables.sales_table

%matplot Sosok Matplotlib

Visualisasikan data Anda menggunakan pustaka matplotlib.

Contoh:

import matplotlib.pyplot as plt # Set X-axis and Y-axis values x = [5, 2, 8, 4, 9] y = [10, 4, 8, 5, 2] # Create a bar chart plt.bar(x, y) # Show the plot %matplot plt
%plotly Sosok yang cepat

Visualisasikan data Anda menggunakan pustaka plotly.

Contoh:

import plotly.express as px #Create a graphical figure fig = px.line(x=["a","b","c"], y=[1,3,2], title="sample figure") #Show the figure %plotly fig

Sesi penamaan

AWS Gluesesi interaktif adalah AWS sumber daya dan membutuhkan nama. Nama harus unik untuk setiap sesi dan mungkin dibatasi oleh IAM administrator Anda. Untuk informasi selengkapnya, lihat Sesi interaktif dengan IAM. Kernel Jupyter secara otomatis menghasilkan nama sesi unik untuk Anda. Namun sesi dapat diberi nama secara manual dengan dua cara:

  1. Menggunakan file AWS Command Line Interface konfigurasi yang terletak di~.aws/config. Lihat Menyiapkan AWS Config dengan file. AWS Command Line Interface

  2. Menggunakan %session_id_prefix sihir. Lihat Sihir didukung oleh sesi AWS Glue interaktif untuk Jupyter.

Nama sesi dihasilkan sebagai berikut:

  • Ketika awalan dan session_id disediakan: nama sesi akan menjadi {prefix} - {}. UUID

  • Ketika tidak ada yang disediakan: nama sesi akan menjadi {UUID}.

Awalan nama sesi memungkinkan Anda mengenali sesi saat mencantumkannya di konsol AWS CLI atau.

Menentukan IAM peran untuk sesi interaktif

Anda harus menentukan peran AWS Identity and Access Management (IAM) yang akan digunakan dengan AWS Glue ETL kode yang Anda jalankan dengan sesi interaktif.

Peran tersebut memerlukan IAM izin yang sama seperti yang diperlukan untuk menjalankan AWS Glue pekerjaan. Lihat Membuat IAM peran AWS Glue untuk informasi selengkapnya tentang membuat peran untuk AWS Glue pekerjaan dan sesi interaktif.

IAMperan dapat ditentukan dalam dua cara:

Mengkonfigurasi sesi dengan profil bernama

AWS Gluesesi interaktif menggunakan kredensi yang sama dengan AWS Command Line Interface atau boto3, dan sesi interaktif menghormati dan bekerja dengan profil bernama seperti yang AWS CLI ditemukan di (~/.aws/configLinux dan macOS) atau (Windows). %USERPROFILE%\.aws\config Untuk informasi selengkapnya, lihat Menggunakan profil bernama.

Sesi interaktif memanfaatkan profil bernama dengan mengizinkan Peran AWS Glue Layanan dan Awalan ID Sesi ditentukan dalam profil. Untuk mengonfigurasi peran profil, tambahkan baris untuk iam_role kunci dan/atau session_id_prefix profil bernama Anda seperti yang ditunjukkan di bawah ini. session_id_prefixTidak memerlukan tanda kutip. Misalnya, jika Anda ingin menambahkan session_id_prefix, masukkan nilaisession_id_prefix=myprefix.

[default] region=us-east-1 aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY glue_iam_role=arn:aws:iam::<AccountID>:role/<GlueServiceRole> session_id_prefix=<prefix_for_session_names> [user1] region=eu-west-1 aws_access_key_id=AKIAI44QH8DHBEXAMPLE aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY glue_iam_role=arn:aws:iam::<AccountID>:role/<GlueServiceRoleUser1> session_id_prefix=<prefix_for_session_names_for_user1>

Jika Anda memiliki metode khusus untuk menghasilkan kredensi, Anda juga dapat mengonfigurasi profil Anda untuk menggunakan credential_process parameter dalam file Anda~/.aws/config. Sebagai contoh:

[profile developer] region=us-east-1 credential_process = "/Users/Dave/generate_my_credentials.sh" --username helen

Anda dapat menemukan detail selengkapnya tentang sumber kredensional melalui credential_process parameter di sini: Sumber kredensi dengan proses eksternal.

Jika suatu wilayah atau tidak iam_role diatur dalam profil yang Anda gunakan, Anda harus menentukannya menggunakan %region dan %iam_role sihir di sel pertama yang Anda jalankan.