Tutorial: Menulis AWS Glue untuk skrip Spark - AWS Glue

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

Tutorial: Menulis AWS Glue untuk skrip Spark

Tutorial ini memperkenalkan Anda pada proses penulisan skrip AWS Glue. Anda dapat menjalankan skrip sesuai jadwal dengan pekerjaan, atau secara interaktif dengan sesi interaktif. Untuk informasi lebih lanjut tentang pekerjaan, lihatMembangun ETL pekerjaan visual dengan AWS Glue Studio. Untuk informasi selengkapnya tentang sesi interaktif, lihatIkhtisar AWS Glue sesi interaktif.

Editor visual AWS Glue Studio menawarkan antarmuka grafis tanpa kode untuk membangun pekerjaan AWS Glue. AWS Glue script kembali pekerjaan visual. Mereka memberi Anda akses ke seperangkat alat yang diperluas yang tersedia untuk bekerja dengan program Apache Spark. Anda dapat mengakses API Spark asli, serta pustaka AWS Glue yang memfasilitasi alur kerja ekstrak, transformasi, dan pemuatan (ETL) dari dalam skrip Glue. AWS

Dalam tutorial ini, Anda mengekstrak, mengubah, dan memuat dataset tiket parkir. Script yang melakukan pekerjaan ini identik dalam bentuk dan fungsi dengan yang dihasilkan dalam Membuat ETL lebih mudah dengan AWS Glue Studio di AWS Big Data Blog, yang memperkenalkan editor visual AWS Glue Studio. Dengan menjalankan skrip ini dalam suatu pekerjaan, Anda dapat membandingkannya dengan pekerjaan visual dan melihat cara kerja skrip AWS Glue ETL. Ini mempersiapkan Anda untuk menggunakan fungsionalitas tambahan yang belum tersedia dalam pekerjaan visual.

Anda menggunakan bahasa Python dan pustaka dalam tutorial ini. Fungsionalitas serupa tersedia di Scala. Setelah melalui tutorial ini, Anda harus dapat menghasilkan dan memeriksa contoh skrip Scala untuk memahami bagaimana melakukan proses penulisan skrip Scala AWS Glue ETL.

Prasyarat

Tutorial ini memiliki prasyarat berikut ini:

  • Prasyarat yang sama dengan posting blog AWS Glue Studio, yang menginstruksikan Anda untuk menjalankan template. AWS CloudFormation

    Template ini menggunakan AWS Glue Data Catalog untuk mengelola dataset tiket parkir yang tersedia dis3://aws-bigdata-blog/artifacts/gluestudio/. Ini menciptakan sumber daya berikut yang akan direferensikan:

  • AWS Glue StudioPeran — Peran IAM untuk menjalankan pekerjaan AWS Glue

  • AWS Glue StudioAmazon S3Bucket - Nama bucket Amazon S3 untuk menyimpan file terkait blog

  • AWS Glue StudioTicketSyyzDB - Database Katalog Data AWS Glue

  • AWS Glue StudioTableTickets— Tabel Katalog Data untuk digunakan sebagai sumber

  • AWS Glue StudioTableTrials— Tabel Katalog Data untuk digunakan sebagai sumber

  • AWS Glue StudioParkingTicketCount — Tabel Katalog Data untuk digunakan sebagai tujuan

  • Skrip yang dihasilkan di posting blog AWS Glue Studio. Jika posting blog berubah, skrip juga tersedia dalam teks berikut.

Menghasilkan contoh skrip

Anda dapat menggunakan editor visual AWS Glue Studio sebagai alat pembuatan kode yang kuat untuk membuat perancah untuk skrip yang ingin Anda tulis. Anda akan menggunakan alat ini untuk membuat skrip sampel.

Jika Anda ingin melewati langkah-langkah ini, skrip disediakan.

import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.job import Job args = getResolvedOptions(sys.argv, ["JOB_NAME"]) sc = SparkContext() glueContext = GlueContext(sc) spark = glueContext.spark_session job = Job(glueContext) job.init(args["JOB_NAME"], args) # Script generated for node S3 bucket S3bucket_node1 = glueContext.create_dynamic_frame.from_catalog( database="yyz-tickets", table_name="tickets", transformation_ctx="S3bucket_node1" ) # Script generated for node ApplyMapping ApplyMapping_node2 = ApplyMapping.apply( frame=S3bucket_node1, mappings=[ ("tag_number_masked", "string", "tag_number_masked", "string"), ("date_of_infraction", "string", "date_of_infraction", "string"), ("ticket_date", "string", "ticket_date", "string"), ("ticket_number", "decimal", "ticket_number", "float"), ("officer", "decimal", "officer_name", "decimal"), ("infraction_code", "decimal", "infraction_code", "decimal"), ("infraction_description", "string", "infraction_description", "string"), ("set_fine_amount", "decimal", "set_fine_amount", "float"), ("time_of_infraction", "decimal", "time_of_infraction", "decimal"), ], transformation_ctx="ApplyMapping_node2", ) # Script generated for node S3 bucket S3bucket_node3 = glueContext.write_dynamic_frame.from_options( frame=ApplyMapping_node2, connection_type="s3", format="glueparquet", connection_options={"path": "s3://DOC-EXAMPLE-BUCKET", "partitionKeys": []}, format_options={"compression": "gzip"}, transformation_ctx="S3bucket_node3", ) job.commit()
Untuk menghasilkan skrip sampel
  1. Lengkapi tutorial AWS Glue Studio. Untuk menyelesaikan tutorial ini, lihat Membuat pekerjaan di AWS Glue Studio dari contoh pekerjaan.

  2. Arahkan ke tab Script di halaman pekerjaan, seperti yang ditunjukkan pada gambar berikut:

    Tab Script untuk pekerjaan AWS Glue.
  3. Salin isi lengkap tab Script. Dengan mengatur bahasa skrip dalam rincian Job, Anda dapat beralih bolak-balik antara menghasilkan kode Python atau Scala.

Langkah 1. Buat pekerjaan dan tempel skrip Anda

Pada langkah ini, Anda membuat pekerjaan AWS Glue di AWS Management Console. Ini mengatur konfigurasi yang memungkinkan AWS Glue menjalankan skrip Anda. Ini juga menciptakan tempat bagi Anda untuk menyimpan dan mengedit skrip Anda.

Untuk membuat pekerjaan
  1. Di AWS Management Console, navigasikan ke halaman landing AWS Glue.

  2. Di panel navigasi samping, pilih Jobs.

  3. Pilih Editor skrip Spark di Buat pekerjaan, lalu pilih Buat.

  4. Opsional - Tempelkan teks lengkap skrip Anda ke panel Script. Atau, Anda dapat mengikuti tutorial.

Langkah 2. Pustaka Impor AWS Glue

Anda perlu mengatur skrip Anda untuk berinteraksi dengan kode dan konfigurasi yang didefinisikan di luar skrip. Pekerjaan ini dilakukan di belakang layar di AWS Glue Studio.

Pada langkah ini, Anda melakukan tindakan berikut.

  • Impor dan inisialisasi GlueContext objek. Ini adalah impor yang paling penting, dari perspektif penulisan skrip. Ini memperlihatkan metode standar untuk mendefinisikan kumpulan data sumber dan target, yang merupakan titik awal untuk skrip ETL apa pun. Untuk mempelajari lebih lanjut tentang GlueContext kelas, lihatGlueContext kelas.

  • Inisialisasi a SparkContext danSparkSession. Ini memungkinkan Anda untuk mengkonfigurasi mesin Spark yang tersedia di dalam pekerjaan AWS Glue. Anda tidak perlu menggunakannya secara langsung dalam skrip AWS Glue pengantar.

  • Panggil getResolvedOptions untuk menyiapkan argumen pekerjaan Anda untuk digunakan dalam skrip. Untuk informasi selengkapnya tentang menyelesaikan parameter pekerjaan, lihatMengakses parameter menggunakan getResolvedOptions.

  • Inisialisasi a. Job JobObjek mengatur konfigurasi dan melacak keadaan berbagai fitur AWS Glue opsional. Skrip Anda dapat berjalan tanpa Job objek, tetapi praktik terbaik adalah menginisialisasi sehingga Anda tidak mengalami kebingungan jika fitur tersebut kemudian terintegrasi.

    Salah satu fitur ini adalah bookmark pekerjaan, yang dapat Anda konfigurasikan secara opsional dalam tutorial ini. Anda dapat mempelajari tentang bookmark pekerjaan di bagian berikut,Opsional - Aktifkan bookmark pekerjaan.

Dalam prosedur ini, Anda menulis kode berikut. Kode ini adalah bagian dari skrip sampel yang dihasilkan.

from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.job import Job args = getResolvedOptions(sys.argv, ["JOB_NAME"]) sc = SparkContext() glueContext = GlueContext(sc) spark = glueContext.spark_session job = Job(glueContext) job.init(args["JOB_NAME"], args)
Untuk mengimpor pustaka AWS Glue
  • Salin bagian kode ini dan tempel ke editor Script.

    catatan

    Anda mungkin menganggap menyalin kode sebagai praktik teknik yang buruk. Dalam tutorial ini, kami menyarankan ini untuk mendorong Anda untuk secara konsisten memberi nama variabel inti Anda di semua skrip AWS Glue ETL.

Langkah 3. Ekstrak data dari sumber

Dalam proses ETL apa pun, Anda harus terlebih dahulu menentukan kumpulan data sumber yang ingin Anda ubah. Di editor visual AWS Glue Studio, Anda memberikan informasi ini dengan membuat simpul Sumber.

Pada langkah ini, Anda memberikan create_dynamic_frame.from_catalog metode a database dan table_name untuk mengekstrak data dari sumber yang dikonfigurasi dalam Katalog Data AWS Glue.

Pada langkah sebelumnya, Anda menginisialisasi GlueContext objek. Anda menggunakan objek ini untuk menemukan metode yang digunakan untuk mengkonfigurasi sumber, seperticreate_dynamic_frame.from_catalog.

Dalam prosedur ini, Anda menulis kode berikut menggunakancreate_dynamic_frame.from_catalog. Kode ini adalah bagian dari skrip sampel yang dihasilkan.

S3bucket_node1 = glueContext.create_dynamic_frame.from_catalog( database="yyz-tickets", table_name="tickets", transformation_ctx="S3bucket_node1" )
Untuk mengekstrak data dari sumber
  1. Periksa dokumentasi untuk menemukan metode GlueContext untuk mengekstrak data dari sumber yang ditentukan dalam Katalog Data AWS Glue. Metode-metode ini didokumentasikan dalamGlueContext kelas. Pilih metode create_dynamic_frame.from_catalog. Panggil metode iniglueContext.

  2. Periksa dokumentasi untukcreate_dynamic_frame.from_catalog. Metode ini membutuhkan database dan table_name parameter. Berikan parameter yang diperlukan untukcreate_dynamic_frame.from_catalog.

    Katalog Data AWS Glue menyimpan informasi tentang lokasi dan format data sumber Anda, dan disiapkan di bagian prasyarat. Anda tidak harus secara langsung memberikan naskah Anda dengan informasi itu.

  3. Opsional - Berikan transformation_ctx parameter ke metode untuk mendukung bookmark pekerjaan. Anda dapat mempelajari tentang bookmark pekerjaan di bagian berikut,Opsional - Aktifkan bookmark pekerjaan.

catatan

Metode umum untuk mengekstraksi data

create_dynamic_frame_from_catalogdigunakan untuk menghubungkan ke tabel di Katalog Data AWS Glue.

Jika Anda perlu secara langsung menyediakan pekerjaan Anda dengan konfigurasi yang menjelaskan struktur dan lokasi sumber Anda, lihat create_dynamic_frame_from_options metodenya. Anda perlu memberikan parameter yang lebih rinci yang menjelaskan data Anda daripada saat menggunakancreate_dynamic_frame.from_catalog.

Lihat dokumentasi tambahan tentang format_options dan connection_parameters untuk mengidentifikasi parameter yang diperlukan. Untuk penjelasan tentang cara memberikan informasi skrip Anda tentang format data sumber Anda, lihatOpsi format data untuk input dan output untuk Spark AWS Glue. Untuk penjelasan tentang cara memberikan informasi skrip Anda tentang lokasi data sumber Anda, lihatJenis dan opsi koneksi untuk ETL di AWS Glue untuk Spark.

Jika Anda membaca informasi dari sumber streaming, Anda memberikan pekerjaan Anda dengan informasi sumber melalui create_data_frame_from_catalog atau create_data_frame_from_options metode. Perhatikan bahwa metode ini mengembalikan Apache SparkDataFrames.

Kode yang kami hasilkan memanggil create_dynamic_frame.from_catalog sementara dokumentasi referensi mengacu padacreate_dynamic_frame_from_catalog. Metode ini pada akhirnya memanggil kode yang sama, dan disertakan sehingga Anda dapat menulis kode yang lebih bersih. Anda dapat memverifikasi ini dengan melihat sumber pembungkus Python kami, tersedia di. aws-glue-libs

Langkah 4. Transformasi data dengan AWS Glue

Setelah mengekstrak data sumber dalam proses ETL, Anda perlu menjelaskan bagaimana Anda ingin mengubah data Anda. Anda memberikan informasi ini dengan membuat node Transform di editor visual AWS Glue Studio.

Pada langkah ini, Anda memberikan ApplyMapping metode dengan peta nama dan jenis bidang saat ini dan yang diinginkan untuk mengubah AndaDynamicFrame.

Anda melakukan transformasi berikut.

  • Jatuhkan empat location dan province kunci.

  • Ubah nama officer menjadiofficer_name.

  • Ubah jenis ticket_number dan set_fine_amount kefloat.

create_dynamic_frame.from_catalogmenyediakan Anda dengan DynamicFrame objek. A DynamicFrame mewakili kumpulan data di AWS Glue. AWS Glue transforms adalah operasi yang berubahDynamicFrames.

catatan

Apa ituDynamicFrame?

A DynamicFrame adalah abstraksi yang memungkinkan Anda menghubungkan kumpulan data dengan deskripsi nama dan jenis entri dalam data. Di Apache Spark, abstraksi serupa ada yang disebut a. DataFrame Untuk penjelasannya DataFrames, lihat Spark SQL Guide.

DenganDynamicFrames, Anda dapat mendeskripsikan skema kumpulan data secara dinamis. Pertimbangkan kumpulan data dengan kolom harga, di mana beberapa entri menyimpan harga sebagai string, dan lainnya menyimpan harga sebagai ganda. AWS Glue menghitung skema on-the-fly —itu menciptakan catatan yang menggambarkan diri untuk setiap baris.

Bidang yang tidak konsisten (seperti harga) secara eksplisit direpresentasikan dengan type (ChoiceType) dalam skema untuk frame. Anda dapat mengatasi bidang yang tidak konsisten dengan menjatuhkannya DropFields atau menyelesaikannya. ResolveChoice Ini adalah transformasi yang tersedia di. DynamicFrame Anda kemudian dapat menulis data Anda kembali ke danau data Anda denganwriteDynamicFrame.

Anda dapat memanggil banyak transformasi yang sama dari metode di DynamicFrame kelas, yang dapat menyebabkan skrip yang lebih mudah dibaca. Untuk informasi selengkapnya tentang DynamicFrame, lihat DynamicFrame kelas.

Dalam prosedur ini, Anda menulis kode berikut menggunakanApplyMapping. Kode ini adalah bagian dari skrip sampel yang dihasilkan.

ApplyMapping_node2 = ApplyMapping.apply( frame=S3bucket_node1, mappings=[ ("tag_number_masked", "string", "tag_number_masked", "string"), ("date_of_infraction", "string", "date_of_infraction", "string"), ("ticket_date", "string", "ticket_date", "string"), ("ticket_number", "decimal", "ticket_number", "float"), ("officer", "decimal", "officer_name", "decimal"), ("infraction_code", "decimal", "infraction_code", "decimal"), ("infraction_description", "string", "infraction_description", "string"), ("set_fine_amount", "decimal", "set_fine_amount", "float"), ("time_of_infraction", "decimal", "time_of_infraction", "decimal"), ], transformation_ctx="ApplyMapping_node2", )
Untuk mengubah data dengan AWS Glue
  1. Periksa dokumentasi untuk mengidentifikasi transformasi untuk mengubah dan menjatuhkan bidang. Lihat perinciannya di GlueTransform kelas dasar. Pilih ApplyMapping transformasi. Untuk informasi selengkapnya tentang ApplyMapping, lihat ApplyMapping kelas. Panggil apply objek ApplyMapping transformasi.

    catatan

    Apa ApplyMapping?

    ApplyMappingmengambil DynamicFrame dan mengubahnya. Dibutuhkan daftar tupel yang mewakili transformasi di lapangan — sebuah “pemetaan”. Dua elemen tupel pertama, nama bidang dan jenis, digunakan untuk mengidentifikasi bidang dalam bingkai. Dua parameter kedua juga merupakan nama bidang dan jenis.

    ApplyMapping mengubah bidang sumber ke nama target dan ketik baruDynamicFrame, yang dikembalikan. Bidang yang tidak disediakan dijatuhkan dalam nilai pengembalian.

    Daripada memanggilapply, Anda dapat memanggil transformasi yang sama dengan apply_mapping metode pada DynamicFrame untuk membuat kode yang lebih lancar dan dapat dibaca. Untuk informasi selengkapnya, lihat apply_mapping.

  2. Periksa dokumentasi ApplyMapping untuk mengidentifikasi parameter yang diperlukan. Lihat ApplyMapping kelas. Anda akan menemukan bahwa metode ini membutuhkan frame dan mappings parameter. Berikan parameter yang diperlukan untukApplyMapping.

  3. Opsional — Berikan transformation_ctx metode untuk mendukung bookmark pekerjaan. Anda dapat mempelajari tentang bookmark pekerjaan di bagian berikut,Opsional - Aktifkan bookmark pekerjaan.

catatan

Fungsionalitas Apache Spark

Kami menyediakan transformasi untuk merampingkan alur kerja ETL dalam pekerjaan Anda. Anda juga memiliki akses ke perpustakaan yang tersedia dalam program Spark di pekerjaan Anda, dibangun untuk tujuan yang lebih umum. Untuk menggunakannya, Anda mengonversi antara DynamicFrame danDataFrame.

Anda dapat membuat DataFrame dengantoDF. Kemudian, Anda dapat menggunakan metode yang tersedia di DataFrame untuk mengubah dataset Anda. Untuk informasi lebih lanjut tentang metode ini, lihat DataFrame. Anda kemudian dapat mengonversi mundur dengan fromDF menggunakan operasi AWS Glue untuk memuat bingkai Anda ke target.

Langkah 5. Memuat data ke target

Setelah Anda mengubah data Anda, Anda biasanya menyimpan data yang diubah di tempat yang berbeda dari sumbernya. Anda melakukan operasi ini dengan membuat node target di editor visual AWS Glue Studio.

Pada langkah ini, Anda menyediakan write_dynamic_frame.from_options metode aconnection_type,, connection_optionsformat, dan format_options untuk memuat data ke dalam bucket target di Amazon S3.

Pada Langkah 1, Anda menginisialisasi GlueContext objek. Di AWS Glue, di sinilah Anda akan menemukan metode yang digunakan untuk mengkonfigurasi target, seperti sumber.

Dalam prosedur ini, Anda menulis kode berikut menggunakanwrite_dynamic_frame.from_options. Kode ini adalah bagian dari skrip sampel yang dihasilkan.

S3bucket_node3 = glueContext.write_dynamic_frame.from_options( frame=ApplyMapping_node2, connection_type="s3", format="glueparquet", connection_options={"path": "s3://DOC-EXAMPLE-BUCKET", "partitionKeys": []}, format_options={"compression": "gzip"}, transformation_ctx="S3bucket_node3", )
Untuk memuat data ke target
  1. Periksa dokumentasi untuk menemukan metode untuk memuat data ke dalam bucket Amazon S3 target. Metode-metode ini didokumentasikan dalamGlueContext kelas. Pilih write_dynamic_frame_from_options metodenya. Panggil metode iniglueContext.

    catatan

    Metode umum untuk memuat data

    write_dynamic_frame.from_optionsadalah metode yang paling umum digunakan untuk memuat data. Ini mendukung semua target yang tersedia di AWS Glue.

    Jika Anda menulis ke target JDBC yang ditentukan dalam koneksi AWS Glue, gunakan metode iniwrite_dynamic_frame_from_jdbc_conf. AWS Koneksi Glue menyimpan informasi tentang cara menghubungkan ke sumber data. Ini menghilangkan kebutuhan untuk memberikan informasi ituconnection_options. Namun, Anda masih perlu menggunakannya connection_options untuk menyediakandbtable.

    write_dynamic_frame.from_catalogbukan metode umum untuk memuat data. Metode ini memperbarui Katalog Data AWS Glue tanpa memperbarui kumpulan data yang mendasarinya, dan digunakan dalam kombinasi dengan proses lain yang mengubah kumpulan data yang mendasarinya. Untuk informasi selengkapnya, lihat Memperbarui skema, dan menambahkan partisi baru di Katalog Data menggunakan AWS Glue ETLLowongan.

  2. Periksa dokumentasi untukwrite_dynamic_frame_from_options. Metode ini membutuhkanframe,connection_type,format,connection_options, danformat_options. Panggil metode iniglueContext.

    1. Lihat dokumentasi tambahan tentang format_options dan format untuk mengidentifikasi parameter yang Anda butuhkan. Untuk penjelasan tentang format data, lihatOpsi format data untuk input dan output untuk Spark AWS Glue.

    2. Lihat dokumentasi tambahan tentang connection_type dan connection_options untuk mengidentifikasi parameter yang Anda butuhkan. Untuk penjelasan tentang koneksi, lihatJenis dan opsi koneksi untuk ETL di AWS Glue untuk Spark.

    3. Berikan parameter yang diperlukan untukwrite_dynamic_frame.from_options. Metode ini memiliki konfigurasi yang mirip dengancreate_dynamic_frame.from_options.

  3. Opsional — Menyediakan transformation_ctx write_dynamic_frame.from_options untuk mendukung bookmark pekerjaan. Anda dapat mempelajari tentang bookmark pekerjaan di bagian berikut,Opsional - Aktifkan bookmark pekerjaan.

Langkah 6. Komit Job objek

Anda menginisialisasi Job objek di Langkah 1. Anda perlu menyimpulkan siklus hidupnya secara manual di akhir skrip Anda. Fitur opsional tertentu membutuhkan ini agar berfungsi dengan baik. Pekerjaan ini dilakukan di belakang layar di AWS Glue Studio.

Pada langkah ini, panggil commit metode pada Job objek.

Dalam prosedur ini, Anda menulis kode berikut. Kode ini adalah bagian dari skrip sampel yang dihasilkan.

job.commit()
Untuk melakukan Job objek
  1. Jika Anda belum melakukan ini, lakukan langkah-langkah opsional yang diuraikan di bagian sebelumnya untuk disertakantransformation_ctx.

  2. Panggil commit.

Opsional - Aktifkan bookmark pekerjaan

Di setiap langkah sebelumnya, Anda telah diinstruksikan untuk mengatur transformation_ctx parameter. Ini terkait dengan fitur yang disebut bookmark pekerjaan.

Dengan bookmark pekerjaan, Anda dapat menghemat waktu dan uang dengan pekerjaan yang berjalan secara berulang, terhadap kumpulan data di mana pekerjaan sebelumnya dapat dengan mudah dilacak. Bookmark Job melacak kemajuan transformasi AWS Glue di seluruh kumpulan data dari proses sebelumnya. Dengan melacak di mana proses sebelumnya berakhir, AWS Glue dapat membatasi pekerjaannya ke baris yang belum diproses sebelumnya. Untuk informasi selengkapnya tentang bookmark pekerjaan, lihatMelacak data yang diproses menggunakan bookmark pekerjaan.

Untuk mengaktifkan bookmark pekerjaan, pertama-tama tambahkan transformation_ctx pernyataan ke dalam fungsi yang kami sediakan, seperti yang dijelaskan dalam contoh sebelumnya. Status bookmark Job dipertahankan di seluruh proses. transformation_ctxparameter adalah kunci yang digunakan untuk mengakses status itu. Sendiri, pernyataan ini tidak akan melakukan apa-apa. Anda juga perlu mengaktifkan fitur dalam konfigurasi untuk pekerjaan Anda.

Dalam prosedur ini, Anda mengaktifkan bookmark pekerjaan menggunakan. AWS Management Console

Untuk mengaktifkan bookmark pekerjaan
  1. Arahkan ke bagian Detail pekerjaan di pekerjaan Anda yang sesuai.

  2. Tetapkan bookmark Job ke Aktifkan.

Langkah 7. Jalankan kode Anda sebagai pekerjaan

Pada langkah ini, Anda menjalankan pekerjaan Anda untuk memverifikasi bahwa Anda berhasil menyelesaikan tutorial ini. Ini dilakukan dengan mengklik tombol, seperti pada editor visual AWS Glue Studio.

Untuk menjalankan kode Anda sebagai pekerjaan
  1. Pilih Pekerjaan tanpa judul di bilah judul untuk diedit dan atur nama pekerjaan Anda.

  2. Arahkan ke tab Detail Pekerjaan. Tetapkan pekerjaan Anda Peran IAM. Anda dapat menggunakan yang dibuat oleh AWS CloudFormation template dalam prasyarat untuk tutorial Glue AWS Studio. Jika Anda telah menyelesaikan tutorial itu, itu harus tersedia sebagaiAWS Glue StudioRole.

  3. Pilih Simpan untuk menyimpan skrip Anda.

  4. Pilih Jalankan untuk menjalankan pekerjaan Anda.

  5. Arahkan ke tab Runs untuk memverifikasi bahwa pekerjaan Anda selesai.

  6. Arahkan ke DOC-EXAMPLE-BUCKET, target untuk. write_dynamic_frame.from_options Konfirmasikan bahwa output sesuai dengan harapan Anda.

Untuk informasi selengkapnya tentang mengonfigurasi dan mengelola pekerjaan, lihatMenyediakan skrip kustom Anda sendiri.

Informasi selengkapnya

Pustaka dan metode Apache Spark tersedia dalam skrip Glue AWS . Anda dapat melihat dokumentasi Spark untuk memahami apa yang dapat Anda lakukan dengan pustaka yang disertakan. Untuk informasi selengkapnya, lihat bagian contoh dari repositori sumber Spark.

AWS Glue 2.0+ mencakup beberapa pustaka Python umum secara default. Ada juga mekanisme untuk memuat dependensi Anda sendiri ke dalam pekerjaan AWS Glue di lingkungan Scala atau Python. Untuk informasi tentang dependensi Python, lihat. Menggunakan pustaka Python dengan AWS Glue

Untuk contoh lebih lanjut tentang cara menggunakan fitur AWS Glue di Python, lihat. AWS GlueContoh kode Python Pekerjaan Scala dan Python memiliki paritas fitur, jadi contoh Python kami akan memberi Anda beberapa pemikiran tentang cara melakukan pekerjaan serupa di Scala.