Melakukan konfigurasi AWS Glue sesi interaktif untuk Jupyter dan AWS Glue Studio buku catatan - AWS Glue

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

Melakukan konfigurasi AWS Glue sesi interaktif untuk Jupyter dan AWS Glue Studio buku catatan

Pengantar Sihir Jupyter

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 AWS Glue sesi interaktif untuk Jupyter

Berikut ini adalah sihir yang dapat Anda gunakan dengan AWS Glue sesi 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 batas waktu 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 saat ini AWS Glue sesi 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 AWS Glue untuk digunakan oleh sesi ini.

Contoh: %glue_version 3.0

Sihir untuk memilih jenis pekerjaan

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

AWS Glue untuk sihir konfigurasi Spark

%%configureKeajaibannya 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%%konfigurasi argumen sihir sel.

%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 ditentukan yang dialokasikan ketika sebuah tugas berjalan. worker_typeharus diatur juga. number_of_workersDefault-nya 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 dalam 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 kredenensi:

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

%%konfigurasi argumen sihir sel

%%configureKeajaibannya 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 tugas, 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 tugas.

Contoh:

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

Parameter sesi

Parameter Jenis Deskripsi
--enable-spark-ui Boolean Aktifkan Spark UI untuk memantau dan men-debug AWS Glue ETLpekerjaan.
%%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 path S3 untuk skrip yang menjalankan tugas.

Contoh:

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

Nama konfigurasi AWS Glue keamanan

Contoh:

%%configure { "--security_configuration": { "encryption_type": "kms", "kms_key_id": "YOUR_KMS_KEY_ARN" } }
--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. Default-nya adalah null.

Contoh:

%%configure { "--class": "className" }
--user-jars-first Boolean Memprioritaskan JAR file tambahan pelanggan di classpath. Default-nya 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 Default-nya adalah null.

Contoh:

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

Contoh:

%%configure { "--extra-files": "s3://path/to/additional/files/" }
--job-bookmark-option String Mengontrol perilaku dari sebuah bookmark tugas. 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 path Amazon S3 untuk sebuah bucket yang dapat digunakan sebagai direktori sementara untuk tugas itu. Default-nya adalah null.

Contoh:

%%configure { "--TempDir": "s3://path/to/temp/dir" }
--enable-s3-parquet-optimized-committer Boolean Memungkinkan pelaksana dioptimalkan-S3 EMRFS Amazon untuk menulis data Parquet 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 untuk menggunakan AWS Glue Katalog Data sebagai metastore Apache Spark Hive.

Contoh:

%%configure { "--enable-glue-datacatalog": "true" }
--enable-metrics Boolean Memungkinkan pengumpulan metrik untuk pemrofilan tugas untuk menjalankan tugas. Default-nya adalah 'SALAH'.

Contoh:

%%configure { "--enable-metrics": "true" }
--enable-continuous-cloudwatch-log Boolean Memungkinkan pencatatan log berkelanjutan waktu nyata untuk AWS Glue Pekerjaanan/ tugas Default-nya adalah 'SALAH'.

Contoh:

%%configure { "--enable-continuous-cloudwatch-log": "true" }
--enable-continuous-log-filter Boolean Menentukan filter standar atau tanpa filter saat Anda membuat atau mengedit tugas yang diaktifkan untuk pencatatan log berkelanjutan. Default adalah 'benar'.

Contoh:

%%configure { "--enable-continuous-log-filter": "true" }
--continuous-log-stream-prefix String Menentukan prefiks pengaliran Amazon CloudWatch log kustom untuk tugas yang diaktifkan untuk pencatatan log berkelanjutan. Default-nya adalah null.

Contoh:

%%configure { "--continuous-log-stream-prefix": "prefix" }
--continuous-log-conversionPattern String Menentukan pola log konversi kustom untuk tugas yang diaktifkan untuk pencatatan log berkelanjutan. Default-nya 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" }
batas waktu Int Menentukan jumlah waktu maksimum sesi Spark harus menunggu pernyataan selesai sebelum menghentikannya.
%%configure { "timeout": "30" }
auto-scaling Boolean Menentukan apakah akan menggunakan auto-scaling atau tidak.
%%configure {   "––enable-auto-scaling": "true" }

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 guci tambahan yang dipisahkan koma untuk disertakan 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 tugas Ray. Default: 1.

Contoh: %min_workers 2

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

Contoh: %object_memory_head 100

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

Contoh: %object_memory_worker 100

Sihir aksi

Nama Tipe Deskripsi
%%sql String

Jalankan SQL kode. Semua baris setelah %%sql sihir awal akan dilewatkan 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 Glue sesi 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 AWS Glue sesi 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 AWS Glue ETLkode yang Anda jalankan dengan sesi interaktif.

Peran tersebut membutuhkan IAM izin yang sama dengan yang diperlukan untuk menjalankan AWS Glue Pekerjaanan/ tugas Lihat Membuat IAM peran untuk AWS Glueuntuk informasi lebih lanjut tentang membuat peran untuk AWS Glue pekerjaan dan sesi interaktif.

IAMperan dapat ditentukan dengan dua cara:

Mengkonfigurasi sesi dengan profil bernama

AWS Glue sesi interaktif menggunakan kredensyal 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 mengambil keuntungan dari profil bernama dengan memungkinkan AWS Glue Peran Layanan dan Awalan ID Sesi yang akan 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 kredensyal, 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 kredensyal melalui credential_process parameter di sini: Sumber kredensyal 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.