

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

# Membangun pekerjaan visual ETL
<a name="author-job-glue"></a>

## Bangun pekerjaan ETL visual dengan AWS Glue Studio
<a name="build-etl-jobs-glue-studio"></a>

 AWS Glue Studio menyediakan antarmuka visual untuk membuat, menjalankan, dan memantau Extract/Transform/Load (ETL) pekerjaan di AWS Glue. Pekerjaan AWS Glue terdiri dari logika bisnis yang melakukan pekerjaan ekstrak, transformasi, dan beban (ETL). Dengan AWS Glue Studio, Anda dapat menyusun alur kerja transformasi data secara visual dan menjalankannya dengan mulus di mesin ETL tanpa server AWS Glue berbasis Apache Spark. Anda dapat membuat pekerjaan yang memindahkan dan mengubah data antara berbagai penyimpanan data dan aliran menggunakan drag-and-drop antarmuka tanpa harus mempelajari Spark atau menulis kode. 

Sebuah tugas AWS Glue merangkum skrip yang terhubung ke sumber data Anda, memprosesnya, dan kemudian menuliskannya ke target data Anda. Biasanya, sebuah tugas menjalankan skrip extract, transform, and load (ETL). Jobs dapat menjalankan skrip yang dirancang untuk lingkungan runtime Apache Spark dan Ray. Jobs juga dapat menjalankan skrip Python tujuan umum (pekerjaan shell Python.) AWS Gluepemicu dapat memulai pekerjaan berdasarkan jadwal atau acara, atau sesuai permintaan. Anda dapat memantau eksekusi tugas untuk memahami metrik waktu aktif seperti status penyelesaian, durasi, dan waktu mulai.

Anda dapat menggunakan skrip yang dihasilkan AWS Glue atau Anda dapat memberikan milik Anda sendiri. Dengan skema sumber dan lokasi target atau skema, pembuat AWS Glue Studio kode dapat secara otomatis membuat skrip Apache Spark API (). PySpark Anda dapat menggunakan skrip ini sebagai titik awal dan mengedit skrip tersebut untuk memenuhi tujuan Anda.

AWS Gluedapat menulis file output dalam beberapa format data. Setiap jenis pekerjaan dapat mendukung format output yang berbeda. Untuk beberapa format data, format-format kompresi umum dapat ditulis. 

### Mengelola AWS Glue Pekerjaan di AWS Konsol
<a name="console-jobs"></a>

Untuk melihat pekerjaan yang ada, masuk ke Konsol Manajemen AWS dan buka AWS Glue konsol di [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/). Lalu pilih tab **Tugas** di AWS Glue. Daftar **Tugas** menampilkan lokasi skrip yang dikaitkan dengan setiap tugas, kapan tugas terakhir diubah, dan opsi bookmark tugas saat ini. 

 Anda dapat membuat tugas di bagian **ETL** pada konsol AWS Glue. Saat membuat pekerjaan baru, atau setelah Anda menyimpan pekerjaan Anda, Anda dapat menggunakan kaleng AWS Glue Studio untuk memodifikasi pekerjaan ETL Anda. Anda dapat melakukan ini dengan mengedit simpul di editor visual atau dengan mengedit skrip tugas dalam mode developer. Anda juga dapat menambah dan menghapus simpul dalam editor visual untuk membuat tugas ETL yang lebih rumit. 

### Langkah selanjutnya untuk membuat pekerjaan di AWS Glue Studio
<a name="create-jobs-next"></a>

Anda menggunakan editor tugas visual untuk mengkonfigurasi simpul untuk tugas Anda. Setiap simpul merupakan sebuah tindakan, seperti membaca data dari lokasi sumber atau menerapkan transformasi ke data. Setiap simpul yang Anda tambahkan ke tugas Anda memiliki properti yang memberikan informasi tentang lokasi data atau transformasinya.

Langkah selanjutnya untuk membuat dan mengelola tugas Anda adalah:
+ [Memulai pekerjaan ETL visual di AWS Glue Studio](edit-nodes-chapter.md)
+ [Lihat skrip tugas](managing-jobs-chapter.md#view-job-script)
+ [Mengubah properti tugas](managing-jobs-chapter.md#edit-jobs-properties)
+ [Simpan tugas](managing-jobs-chapter.md#save-job)
+ [Memulai eksekusi tugas](managing-jobs-chapter.md#start-jobs)
+ [Melihat informasi untuk eksekusi tugas terbaru](managing-jobs-chapter.md#view-job-run-details)
+ [Mengakses dasbor pemantauan tugas](view-job-runs.md#monitoring-accessing-dashboard)

## Bangun aliran ETL visual dengan Amazon SageMaker
<a name="build-etl-jobs-smus"></a>

 Dengan alur kerja Amazon SageMaker Unified Studio, Anda dapat mengatur dan menjalankan serangkaian tugas di Amazon SageMaker Unified Studio. Alur kerja Amazon SageMaker Unified Studio menggunakan Apache Airflow untuk memodelkan prosedur pemrosesan data dan mengatur artefak kode Amazon Unified Studio Anda. SageMaker Untuk informasi selengkapnya, lihat [Menggunakan alur kerja di Amazon SageMaker Unified Studio](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/workflow-orchestration.html). 

# Memulai pekerjaan ETL visual di AWS Glue Studio
<a name="edit-nodes-chapter"></a>

Anda dapat menggunakan antarmuka visual sederhana AWS Glue Studio untuk membuat pekerjaan ETL Anda. Anda menggunakan halaman **Tugas** untuk membuat tugas baru. Anda juga dapat menggunakan editor skrip atau buku catatan untuk bekerja secara langsung dengan kode dalam skrip pekerjaan AWS Glue Studio ETL.

Pada halaman **Jobs**, Anda dapat melihat semua pekerjaan yang telah Anda buat baik dengan AWS Glue Studio atauAWS Glue. Anda dapat melihat, mengelola, dan menjalankan tugas Anda di halaman ini. 

 Lihat juga [tutorial blog](https://aws.amazon.com/blogs/big-data/making-etl-easier-with-aws-glue-studio/) pada contoh lain tentang cara membuat pekerjaan ETL denganAWS Glue Studio. 

## Memulai pekerjaan di AWS Glue Studio
<a name="create-jobs-start"></a>

 AWS Gluememungkinkan Anda membuat pekerjaan melalui antarmuka visual, buku catatan kode interaktif, atau dengan editor skrip. Anda dapat memulai pekerjaan dengan mengklik salah satu opsi atau membuat pekerjaan baru berdasarkan contoh pekerjaan. 

 Contoh pekerjaan membuat pekerjaan dengan alat pilihan Anda. Misalnya, pekerjaan sampel memungkinkan Anda membuat pekerjaan ETL visual yang menggabungkan file CSV ke dalam tabel catatlog, membuat pekerjaan di buku catatan kode interaktif dengan AWS Glue untuk Ray atau AWS Glue untuk Spark saat bekerja dengan panda, atau membuat pekerjaan di buku catatan kode interaktif dengan SparkSQL. 

### Membuat pekerjaan AWS Glue Studio dari awal
<a name="create-jobs-start-from-scratch"></a>

1. Masuk ke Konsol Manajemen AWS dan buka AWS Glue Studio konsol di [https://console.aws.amazon.com/gluestudio/](https://console.aws.amazon.com/gluestudio/).

1.  Pilih **pekerjaan ETL** dari panel navigasi. 

1.  Di bagian **Buat pekerjaan**, pilih opsi konfigurasi untuk pekerjaan Anda.   
![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/sample-jobs.png)

    Opsi untuk membuat pekerjaan dari awal: 
   +  **Visual ETL** — penulis dalam antarmuka visual yang berfokus pada aliran data 
   +  **Penulis menggunakan buku catatan kode Interaktif** — pekerjaan penulis interaktif di antarmuka notebook berdasarkan Jupyter Notebooks 

      Ketika Anda memilih opsi ini, Anda harus memberikan informasi tambahan sebelum membuat sesi penulisan buku catatan. Untuk informasi selengkapnya tentang cara menentukan informasi ini, lihat[Memulai dengan notebook di AWS Glue Studio](notebook-getting-started.md). 
   + **Kode penulis dengan editor skrip** — Bagi mereka yang terbiasa dengan pemrograman dan penulisan skrip ETL, pilih opsi ini untuk membuat pekerjaan Spark ETL baru. Pilih mesin (Python shell, Ray, Spark (Python), atau Spark (Scala). Kemudian, pilih **Mulai baru** atau **Unggah skrip**. mengunggah skrip yang ada dari file lokal. Jika Anda memilih untuk menggunakan editor skrip, Anda tidak dapat menggunakan editor pekerjaan visual untuk merancang atau mengedit pekerjaan Anda. 

     Sebuah tugas Spark dijalankan di lingkungan Apache Spark yang dikelola oleh AWS Glue. Secara default, skrip baru dikodekan dengan Python. Untuk menulis skrip Scala baru, lihat[Membuat dan mengedit skrip Scala di AWS Glue Studio](edit-nodes-script.md#edit-job-scala-script).

### Membuat pekerjaan AWS Glue Studio dari contoh pekerjaan
<a name="create-jobs-start-from-example-job"></a>

 Anda dapat memilih untuk membuat pekerjaan dari contoh pekerjaan. Di bagian **Contoh pekerjaan**, pilih pekerjaan sampel, lalu pilih **Buat pekerjaan sampel**. Membuat contoh pekerjaan dari salah satu opsi menyediakan templat cepat yang dapat Anda kerjakan. 

1. Masuk ke Konsol Manajemen AWS dan buka AWS Glue Studio konsol di [https://console.aws.amazon.com/gluestudio/](https://console.aws.amazon.com/gluestudio/).

1.  Pilih **pekerjaan ETL** dari panel navigasi. 

1.  Pilih opsi buat pekerjaan dari pekerjaan sampel: 
   +  **Tugas ETL visual untuk bergabung dengan beberapa sumber** — Baca tiga file CSV, gabungkan data, ubah tipe data, lalu tulis data ke Amazon S3 dan katalogkan untuk kueri nanti. 
   +  **Notebook Spark menggunakan Pandas** — Jelajahi dan visualisasikan data menggunakan kerangka kerja Pandas populer yang dikombinasikan dengan Spark. 
   +  **Spark notebook menggunakan SQL - Gunakan SQL** untuk memulai dengan cepat dengan Apache Spark. Akses data melalui Katalog AWS Glue Data dan ubah menggunakan perintah yang sudah dikenal. 

1. Pilih **Buat pekerjaan sampel**.

# Fitur editor tugas
<a name="job-editor-features"></a>

Editor tugas menyediakan fitur-fitur berikut untuk membuat dan mengedit tugas.
+ Sebuah diagram visual tugas Anda, dengan simpul untuk setiap tugas: simpul sumber data untuk membaca data; simpul transformasi untuk memodifikasi data; simpul target data untuk menulis data.

  Anda dapat melihat dan mengkonfigurasi properti dari setiap simpul dalam diagram tugas tersebut. Anda juga dapat melihat skema dan sampel data untuk setiap simpul dalam diagram tugas tersebut. Fitur ini membantu Anda memverifikasi bahwa tugas Anda memodifikasi dan mengubah data dengan cara yang benar, tanpa harus menjalankan tugas.
+ Sebuah Skrip melihat dan mengedit tab, di mana Anda dapat memodifikasi kode yang dihasilkan untuk tugas Anda.
+ Tab Detail tugas, di mana Anda dapat mengkonfigurasi berbagai pengaturan untuk menyesuaikan lingkungan di mana tugas ETL AWS Glue Anda berjalan.
+ Tab Eksekusi, di mana Anda dapat melihat tugas saat ini dan sebelumnya, melihat status eksekusi tugas, dan mengakses log untuk eksekusi tugas tersebut.
+ Tab kualitas data, tempat Anda dapat menerapkan aturan kualitas data ke pekerjaan Anda.
+ Tab Jadwal, di mana Anda dapat mengkonfigurasi waktu mulai untuk tugas Anda, atau mengatur eksekusi tugas berulang.
+ Tab Kontrol Versi, tempat Anda dapat mengonfigurasi layanan Git untuk digunakan dengan pekerjaan Anda.

## Menggunakan pratinjau skema dalam editor tugas visual
<a name="schema-previews"></a>

Saat membuat atau mengedit tugas Anda, Anda dapat menggunakan tab **Skema output** untuk melihat skema untuk data Anda. 

Sebelum Anda dapat melihat skema, editor tugas memerlukan izin untuk mengakses sumber data. Anda dapat menentukan IAM role pada tab Detail tugas pada editor atau pada tab **Skema output** untuk sebuah simpul. Jika IAM role memiliki semua izin yang diperlukan untuk mengakses sumber data, Anda kemudian dapat melihat skema pada tab **Skema output** untuk sebuah simpul.

## Menggunakan pratinjau data dalam editor tugas visual
<a name="data-previews"></a>



[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/EqmljEWlp0c/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/EqmljEWlp0c)




Pratinjau data membantu Anda membuat dan menguji pekerjaan menggunakan sampel data Anda tanpa harus berulang kali menjalankan pekerjaan. Dengan menggunakan pratinjau data, Anda dapat:
+ Uji peran IAM untuk memastikan Anda memiliki akses ke sumber data atau target data Anda.
+ Periksa apakah transformasi memodifikasi data dengan cara yang dimaksud. Misalnya, jika Anda menggunakan Transformasi filter, Anda dapat memastikan bahwa filter memilih subset data yang tepat.
+ Periksa data Anda. Jika set data Anda berisi kolom dengan beberapa jenis nilai, maka pratinjau data akan menampilkan daftar tupel untuk kolom-kolom ini. Setiap tuple berisi tipe data dan nilainya.

**catatan**  
 Jika Anda menggunakan sesi pratinjau data dan SQL kustom atau node kode kustom, sesi pratinjau data akan mengeksekusi SQL atau blok kode apa adanya untuk seluruh kumpulan data. 

 Saat membuat atau mengedit pekerjaan Anda, Anda dapat menggunakan tab **Pratinjau data** di bawah kanvas pekerjaan untuk melihat sampel data Anda. Sesi pratinjau data baru akan dimulai secara otomatis ketika peran sudah dikonfigurasi pada pekerjaan atau peran IAM default telah disiapkan di akun. Jika peran belum dikonfigurasi sebelumnya, Anda dapat memulai sesi dengan memilih peran. 

**catatan**  
 Peran yang Anda pilih untuk sesi pratinjau data juga akan digunakan untuk pekerjaan itu. 



 Anda dapat melihat status dan kemajuan sesi Anda serta detail sesi dengan mengklik ikon info. 

 Ketika sesi siap, AWS Glue Studio akan memuat data untuk node yang Anda pilih. Anda dapat melihat**% selesai** saat berlangsung. 

![\[Tangkapan layar menunjukkan tab Pratinjau data untuk simpul yang telah dimulai.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data-preview-progress.png)


 **Saat Anda membuat pekerjaan visual Anda, secara otomatis AWS Glue Studio akan memperbarui skema untuk simpul yang dipilih saat Anda beralih skema **Inferensi dari sesi di tab skema Output**.** 

![\[Tangkapan layar menunjukkan tab Pratinjau data untuk simpul yang telah dimulai.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data-preview-output-schema.png)


 Untuk mengonfigurasi preferensi pratinjau data Anda: 

Pilih ikon pengaturan (simbol roda gigi) untuk mengkonfigurasi preferensi Anda untuk pratinjau data. Pengaturan ini berlaku untuk semua node dalam diagram pekerjaan. Anda dapat: 
+ Pilih untuk membungkus teks dari satu baris ke baris berikutnya. Opsi ini diaktifkan secara default
+ Ubah jumlah baris (default ke 200) 
+ Pilih peran IAM atau buat peran IAM jika diperlukan
+ Pilih untuk secara otomatis memulai sesi baru ketika Anda menulis pekerjaan. Ini memberikan sesi interaktif baru saat menulis pekerjaan. **Pengaturan ini berlaku di tingkat akun.** Setelah diatur, itu akan berlaku untuk semua pengguna di akun Anda saat mengedit pekerjaan apa pun.
+ Pilih untuk secara otomatis menyimpulkan skema. Skema output akan secara otomatis disimpulkan untuk node yang dipilih
+ Pilih untuk mengimpor AWS Glue pustaka secara otomatis. Ini berguna karena akan mencegah pratinjau data memulai ulang sesi baru saat menambahkan transformasi baru yang memerlukan restart sesi

 Fitur tambahan termasuk kemampuan untuk: 
+ Pilih **Pratinjau x dari bidang y** untuk memilih kolom (bidang) yang akan dipratinjau. Saat Anda mempratinjau data Anda menggunakan pengaturan default, editor tugas menampilkan 5 kolom pertama dari set data Anda. Anda dapat mengubah ini untuk menampilkan semua atau tidak ada (tidak disarankan). 
+ Gulir melalui jendela pratinjau data baik secara horizontal maupun vertikal. 
+ Gunakan tombol maksimalkan untuk memperluas tab Pratinjau data untuk meletakkan grafik pekerjaan secara berlebihan untuk melihat struktur data dan data dengan lebih baik. Demikian pula, gunakan tombol minimalkan untuk meminimalkan tab pratinjau Data. Anda juga dapat mengambil panel pegangan dan menyeret ke atas untuk memperluas tab **Pratinjau data**.  
![\[Tangkapan layar menunjukkan panel pratinjau data dengan tombol minimalkan dan maksimalkan yang disorot, serta panel pegangan yang dapat Anda gunakan untuk memperluas panel pratinjau data secara vertikal.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data-preview-maximize-handle.png)
+ Gunakan **Sesi akhir** untuk menghentikan pratinjau data. Ketika Anda menghentikan sesi, Anda dapat memilih peran IAM baru, dan mengatur pengaturan tambahan (seperti mengaktifkan atau menonaktifkan pengaturan untuk secara otomatis memulai sesi baru, menyimpulkan skema, atau mengimpor AWS Glue pustaka, dan memulai sesi lagi.

## Keterbatasan saat menggunakan pratinjau data
<a name="data-preview-limits"></a>

Saat menggunakan pratinjau data, Anda mungkin mengalami keterbatasan atau batasan berikut. 
+ Pertama kali Anda memilih tab Pratinjau data, Anda harus memilih IAM role. Peran ini harus memiliki izin yang diperlukan untuk mengakses data dan sumber daya lain yang diperlukan untuk membuat pratinjau data tersebut.
+ Setelah Anda memberikan IAM role, dibutuhkan beberapa saat sebelum data tersedia dan bisa dilihat. Untuk set data dengan data kurang dari 1 GB, dibutuhkan waktu hingga satu menit. Jika Anda memiliki set data yang besar, Anda harus menggunakan partisi untuk meningkatkan waktu unggah. Memigrasikan data secara langsung dari Amazon S3 memiliki performa terbaik.
+ Jika Anda memiliki kumpulan data yang sangat besar, dan dibutuhkan lebih dari 15 menit untuk menanyakan data untuk pratinjau data, permintaan akan habis. Pratinjau data memiliki batas waktu IDLE 30 menit. Untuk mengatasinya, kurangi ukuran kumpulan data untuk menggunakan pratinjau data.
+ Secara default, Anda melihat 50 kolom pertama di tab Pratinjau data. Jika kolom tidak memiliki nilai data, Anda akan mendapatkan sebuah pesan bahwa tidak ada data untuk ditampilkan. Anda dapat meningkatkan jumlah baris sampel, atau kolom berbeda yang telah dipilih untuk melihat nilai data.
+ Pratinjau data saat ini tidak didukung untuk sumber data streaming, atau sumber data yang menggunakan konektor kustom.
+ Kesalahan pada satu simpul berpengaruh pada seluruh tugas. Jika salah satu simpul memiliki kesalahan dengan data pratinjau, maka kesalahan akan muncul pada semua simpul sampai Anda memperbaikinya.
+ Jika Anda mengubah sumber data untuk tugas tersebut, maka simpul anak dari sumber data tersebut mungkin perlu diperbarui agar sesuai dengan skema baru. Misalnya, jika Anda memiliki ApplyMapping node yang memodifikasi kolom, dan kolom tidak ada di sumber data pengganti, Anda perlu memperbarui node ApplyMapping transformasi.
+ Jika Anda melihat tab Pratinjau data untuk simpul transformasi kueri SQL, dan kueri SQL menggunakan nama bidang yang salah, maka tab Pratinjau data akan menunjukkan kesalahan. 

## Pembuatan kode skrip
<a name="code-gen"></a>

Saat Anda menggunakan editor visual untuk membuat pekerjaan, kode ETL dibuat secara otomatis untuk Anda. AWS Glue Studiomembuat skrip pekerjaan fungsional dan lengkap, dan menyimpannya di lokasi Amazon S3.

Ada dua bentuk kode yang dihasilkan olehAWS Glue Studio: versi asli, atau Klasik, dan versi yang lebih baru dan efisien. Secara default, generator kode baru digunakan untuk membuat skrip pekerjaan. Anda dapat membuat skrip pekerjaan menggunakan pembuat kode klasik pada tab **Script** dengan memilih tombol sakelar **Hasilkan skrip klasik**.

Beberapa perbedaan dalam versi baru dari kode yang dihasilkan meliputi:
+ Blok komentar besar tidak lagi ditambahkan ke skrip
+ Struktur output dalam kode menggunakan nama node yang Anda tentukan di editor visual. Dalam skrip kelas, struktur output hanya diberi nama`DataSource0`,`DataSource1`,`Transform0`,`Transform1`,`DataSink0`,`DataSink1`, dan sebagainya.
+ Perintah panjang dibagi menjadi beberapa baris untuk menghilangkan kebutuhan untuk menggulir di halaman untuk melihat seluruh perintah.

Fitur baru AWS Glue Studio memerlukan versi baru pembuatan kode, dan tidak akan berfungsi dengan skrip kode klasik. Anda diminta untuk memperbarui pekerjaan ini ketika Anda mencoba menjalankannya.

# Transformasi data dengan transformasi AWS Glue terkelola
<a name="edit-jobs-transforms"></a>

 AWS Glue Studiomenyediakan dua jenis transformasi: 
+  **AWS Glue-native transforms** - tersedia untuk semua pengguna dan dikelola oleh. AWS Glue 
+  **Transformasi visual khusus** - memungkinkan Anda mengunggah transformasi Anda sendiri untuk digunakan AWS Glue Studio 

## AWS Gluenode transformasi data terkelola
<a name="edit-jobs-transforms-glue-managed"></a>

AWS Glue Studio menyediakan serangkaian transformasi bawaan yang dapat Anda gunakan untuk memproses data Anda. Data Anda melewati dari satu simpul dalam diagram tugas ke simpul yang lain dalam struktur data yang disebut `DynamicFrame`, yang merupakan ekstensi untuk `DataFrame` Apache Spark SQL.

Dalam diagram pra-populasi untuk suatu pekerjaan, antara sumber data dan node target data adalah simpul transformasi **Change Schema**. Anda dapat mengkonfigurasi simpul transformasi ini untuk memodifikasi data Anda, atau Anda dapat menggunakan transformasi tambahan. 

Transformasi bawaan berikut tersedia denganAWS Glue Studio:
+ **[ChangeSchema](transforms-configure-applymapping.md)**: Petakan kunci properti data di sumber data ke kunci properti data di target data. Anda dapat mengganti nama kunci, memodifikasi tipe data untuk kunci, dan memilih kunci mana yang akan dibuang dari set data.
+ **[SelectFields](transforms-configure-select-fields.md)**: Pilih kunci properti data yang ingin Anda simpan.
+ **[DropFields](transforms-configure-drop-fields.md)**: Pilih kunci properti data yang ingin Anda jatuhkan.
+ **[RenameField](transforms-configure-rename-field.md)**: Ganti nama kunci properti data tunggal.
+ **[Spigot](transforms-configure-spigot.md)**: Menulis sampel data ke sebuah bucket Amazon S3.
+ **[Join](transforms-configure-join.md)**: Menggabungkan dua set data menjadi satu set data menggunakan frasa perbandingan pada kunci properti data tertentu. Anda dapat menggunakan join bagian dalam, luar, kiri, kanan, kiri semi, dan lawan kiri.
+ **[Union](transforms-configure-union.md)**: Gabungkan baris dari lebih dari satu sumber data yang memiliki skema yang sama.
+ **[SplitFields](transforms-configure-split-fields.md)**: Pisahkan kunci properti data menjadi dua`DynamicFrames`. Output adalah sebuah kumpulan `DynamicFrames`: satu dengan kunci properti data yang dipilih, dan satu dengan kunci properti data yang tersisa. 
+ **[SelectFromCollection](transforms-selectfromcollection-overview.md)**: Pilih salah satu `DynamicFrame` dari koleksi`DynamicFrames`. Outputnya adalah `DynamicFrame` yang dipilih.
+ **[FillMissingValues](transforms-configure-fmv.md)**: Temukan catatan dalam kumpulan data yang memiliki nilai yang hilang dan tambahkan bidang baru dengan nilai yang disarankan yang ditentukan oleh imputasi
+ **[Filter](transforms-filter.md)**: Membagi set data menjadi dua, berdasarkan syarat filter.
+  **[Jatuhkan Bidang Null](transforms-dropnull-fields.md)**: Menghapus kolom dari kumpulan data jika semua nilai dalam kolom adalah 'null'. 
+  **[Jatuhkan Duplikat](transforms-drop-duplicates.md)**: Menghapus baris dari sumber data Anda dengan memilih untuk mencocokkan seluruh baris atau menentukan kunci. 
+ **[SQL](transforms-sql.md)**: Memasukkan kode SparkSQL ke bidang entri teks untuk menggunakan kueri SQL untuk mengubah data. Outputnya adalah satu `DynamicFrame`. 
+  **[Agregat](transforms-aggregate-fields.md)**: Melakukan perhitungan (seperti rata-rata, jumlah, min, maks) pada bidang dan baris yang dipilih, dan membuat bidang baru dengan nilai yang baru dihitung. 
+ **[Flatten](transforms-flatten.md)**: Ekstrak bidang di dalam struct ke bidang tingkat atas.
+ **[UUID](transforms-uuid.md)**: Tambahkan kolom dengan Universally Unique Identifier untuk setiap baris.
+ **[Identifier](transforms-identifier.md)**: Tambahkan kolom dengan pengidentifikasi numerik untuk setiap baris.
+ **[Ke stempel waktu](transforms-to-timestamp.md)**: Ubah kolom menjadi tipe stempel waktu.
+ **[Format timestamp](transforms-format-timestamp.md)**: Mengkonversi kolom stempel waktu ke string yang diformat.
+ **[Transformasi Router Bersyarat](transforms-conditional-router.md)**: Terapkan beberapa kondisi ke data yang masuk. Setiap baris data yang masuk dievaluasi oleh kondisi filter grup dan diproses menjadi grup yang sesuai. 
+  **[Transformasi Kolom Gabungan](transforms-concatenate-columns.md)**: Bangun kolom string baru menggunakan nilai kolom lain dengan spacer opsional. 
+  **[Transformasi String Split](transforms-split-string.md)**: Memecah string menjadi array token menggunakan ekspresi reguler untuk menentukan bagaimana pemisahan dilakukan. 
+  **[Array To Columns transform](transforms-array-to-columns.md)**: Ekstrak beberapa atau semua elemen kolom tipe array ke kolom baru. 
+  **[Tambahkan transformasi Timestamp Saat Ini](transforms-add-current-timestamp.md)**: Tandai baris dengan waktu pemrosesan data. Ini berguna untuk tujuan audit atau untuk melacak latensi dalam pipa data. 
+  **[Pivot Rows to Columns transform](transforms-pivot-rows-to-columns.md)**: Agregat kolom numerik dengan memutar nilai unik pada kolom terpilih yang menjadi kolom baru. Jika beberapa kolom dipilih, nilainya digabungkan untuk memberi nama kolom baru. 
+  **[Unpivot Columns To Rows transform](transforms-unpivot-columns-to-rows.md)**: Ubah kolom menjadi nilai kolom baru yang menghasilkan baris untuk setiap nilai unik. 
+  **[Transformasi Pemrosesan Autobalance](transforms-autobalance-processing.md)**: Mendistribusikan kembali data dengan lebih baik di antara para pekerja. Ini berguna jika data tidak seimbang atau karena berasal dari sumber tidak memungkinkan pemrosesan paralel yang cukup di atasnya. 
+  **[Transformasi Kolom Derived](transforms-derived-column.md)**: Tentukan kolom baru berdasarkan rumus matematika atau ekspresi SQL di mana Anda dapat menggunakan kolom lain dalam data, serta konstanta dan literal. 
+  **[Transformasi pencarian](transforms-lookup.md)**: Tambahkan kolom dari tabel katalog yang ditentukan saat kunci cocok dengan kolom pencarian yang ditentukan dalam data. 
+  **[Explode Array atau Map Into Rows transform](transforms-explode-array.md)**: Ekstrak nilai dari struktur bersarang menjadi baris individual yang lebih mudah dimanipulasi. 
+  **[Transformasi pencocokan rekaman](transforms-record-matching.md)**: Memanggil transformasi klasifikasi data pembelajaran mesin Record Matching yang ada. 
+  **[Hapus baris null transform](transforms-remove-null-rows.md)**: Hapus dari baris dataset yang memiliki semua kolom sebagai null, atau kosong. 
+  **[Mengurai transformasi kolom JSON](transforms-parse-json-column.md)**: Parse kolom string yang berisi data JSON dan mengubahnya menjadi struct atau kolom array, tergantung apakah JSON adalah objek atau array, masing-masing. 
+  **[Ekstrak transformasi jalur JSON](transforms-extract-json-path.md)**: Ekstrak kolom baru dari kolom string JSON. 
+  **[Ekstrak fragmen string dari ekspresi reguler](transforms-regex-extractor.md)**: Ekstrak fragmen string menggunakan ekspresi reguler dan buat kolom baru darinya, atau beberapa kolom jika menggunakan grup regex. 
+ **[Transformasi kustom](transforms-custom.md)**: Masukkan kode ke bidang entri teks untuk menggunakan transformasi kustom. Outputnya adalah kumpulan `DynamicFrames`. 

# Menggunakan resep persiapan data di AWS Glue Studio
<a name="glue-studio-data-preparation"></a>

 Transformasi **resep persiapan data** memungkinkan Anda untuk membuat resep persiapan data dari awal menggunakan antarmuka penulisan gaya kisi interaktif. Ini juga memungkinkan Anda untuk mengimpor AWS Glue DataBrew resep yang ada dan kemudian mengeditnya AWS Glue Studio. 

 Node **Resep Persiapan Data** tersedia dari panel Sumber Daya. Anda dapat menghubungkan simpul **Resep Persiapan Data** ke node lain dalam alur kerja visual, apakah itu node sumber Data atau node transformasi lainnya. Setelah memilih AWS Glue DataBrew resep dan versi, langkah-langkah yang diterapkan dalam resep terlihat di tab properti simpul. 

## Prasyarat
<a name="glue-studio-databrew-prerequisites"></a>
+  Jika mengimpor AWS Glue DataBrew resep, Anda memiliki izin IAM yang diperlukan seperti yang dijelaskan dalam. [Impor AWS Glue DataBrew resep di AWS Glue Studio](glue-studio-data-preparation-import-recipe.md) 
+  Sesi pratinjau data harus dibuat. 

## Batasan
<a name="glue-studio-databrew-limitations"></a>
+  AWS Glue DataBrew resep hanya didukung di [ DataBrew daerah komersial](https://docs.aws.amazon.com/general/latest/gr/databrew.html). 
+  Tidak semua AWS Glue DataBrew resep didukung olehAWS Glue. Beberapa resep tidak akan dapat dijalankanAWS Glue Studio. 
  +  Resep dengan `UNION` dan `JOIN` transformasi tidak didukung, namun, AWS Glue Studio sudah memiliki node transformasi “Join” dan “Union” yang dapat digunakan sebelum atau sesudah simpul **Resep Persiapan Data**. 
+  Node **Resep Persiapan Data** didukung untuk pekerjaan yang dimulai dengan AWS Glue versi 4.0. Versi ini akan dipilih secara otomatis setelah simpul **Resep Persiapan Data** ditambahkan ke pekerjaan. 
+  Simpul **Resep Persiapan Data** membutuhkan Python. Ini secara otomatis diatur ketika simpul **Resep Persiapan Data** ditambahkan ke pekerjaan. 
+  Menambahkan simpul **Resep Persiapan Data** baru ke grafik visual akan secara otomatis memulai ulang sesi Pratinjau Data Anda dengan pustaka yang benar untuk menggunakan simpul **Resep Persiapan Data**. 
+  Transformasi berikut tidak didukung untuk impor atau pengeditan di simpul **Resep Persiapan Data**:`GROUP_BY`,, `PIVOT``UNPIVOT`, dan`TRANSPOSE`. 

## Fitur tambahan
<a name="glue-studio-data-preparation-recipe-transform-features"></a>

 Ketika Anda telah memilih transformasi **Resep Persiapan Data**, Anda memiliki kemampuan untuk mengambil tindakan tambahan setelah memilih **resep Penulis**. 
+  Tambahkan langkah — Anda dapat menambahkan langkah tambahan ke resep sesuai kebutuhan dengan memilih ikon tambahkan langkah, atau menggunakan bilah alat di panel Pratinjau dengan memilih tindakan.   
![\[Tangkapan layar menunjukkan ikon tambahkan resep.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/add-recipe-icon.png)  
![\[Tangkapan layar menunjukkan ikon tambahkan resep.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/author-recipe-toolbar.png)
+  Impor resep — pilih **Lebih dari** itu **Impor resep** untuk digunakan dalam AWS Glue Studio pekerjaan Anda.   
![\[Tangkapan layar menunjukkan lebih banyak ikon.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data-preparation-recipe-node-more-icon.png)  
![\[Tangkapan layar menunjukkan lebih banyak ikon.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data-preparation-recipe-node-more-features.png)
+  Unduh sebagai YAMG — pilih **Lainnya** lalu **Unduh sebagai YAMG untuk** mengunduh resep Anda untuk disimpan di luar. AWS Glue Studio
+  Unduh sebagai JSON — pilih **Lainnya** lalu **Unduh sebagai JSON** untuk mengunduh resep Anda untuk disimpan di luar. AWS Glue Studio
+  Urungkan dan ulangi langkah resep — Anda dapat membatalkan dan mengulang langkah resep di panel Pratinjau saat bekerja dengan data di kisi.   
![\[Tangkapan layar menunjukkan lebih banyak ikon.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/author-recipe-toolbar-undo-redo.png)

# Penulis dan jalankan resep persiapan data dalam pekerjaan ETL AWS Glue visual
<a name="glue-studio-data-preparation-recipe-transform-tutorial"></a>

 Dalam skenario ini, Anda dapat membuat resep persiapan data tanpa harus terlebih dahulu membuatnya DataBrew. Sebelum Anda dapat mulai membuat resep, Anda harus: 
+  Miliki sesi Pratinjau Data yang aktif berjalan. Ketika sesi pratinjau data SIAP, maka **Resep Penulis** akan menjadi aktif dan Anda dapat mulai menulis atau mengedit resep Anda.   
![\[Tangkapan layar menunjukkan sesi Pratinjau Data sebagai lengkap.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data-preparation-recipe-data-preview-complete.png)
+  Pastikan sakelar untuk **pustaka lem impor otomatis** diaktifkan.   
![\[Tangkapan layar menunjukkan opsi untuk mengimpor pustaka lem secara otomatis diaktifkan.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data-preparation-recipe-automatically-import-glue-libraries.png)

   Anda dapat melakukan ini dengan memilih ikon roda gigi di panel Pratinjau Data.   
![\[Tangkapan layar menunjukkan opsi untuk mengimpor pustaka lem secara otomatis diaktifkan.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data-preview-preferences.png)

**Untuk menulis resep persiapan data di AWS Glue Studio:**

1.  Tambahkan transformasi **Resep Persiapan Data** ke kanvas pekerjaan Anda. Transformasi Anda harus terhubung ke induk node sumber data. Saat menambahkan simpul **Resep Persiapan Data**, node akan memulai ulang dengan pustaka yang tepat dan Anda akan melihat Bingkai Data sedang disiapkan.   
![\[Tangkapan layar menunjukkan pemuatan bingkai data setelah menambahkan Resep Persiapan Data.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data-preparation-preparing-dataframe.png)

1.  Setelah sesi Pratinjau Data siap, data dengan langkah-langkah yang diterapkan sebelumnya akan muncul di bagian bawah layar. 

1.  Pilih **Resep Penulis**. Ini akan memungkinkan Anda untuk memulai resep baru AWS Glue Studio.   
![\[Tangkapan layar menunjukkan panel Transform dengan bidang untuk orang tua Nama dan Node, serta opsi untuk Resep Penulis.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data-preparation-recipe-transform-tab-new.png)

1.  Di panel **Transform** di sebelah kanan kanvas pekerjaan, masukkan nama untuk resep persiapan data Anda. 

1.  Di sisi kiri, kanvas akan diganti dengan tampilan grid data Anda. Di sebelah kanan, panel **Transform** akan berubah untuk menunjukkan langkah-langkah resep Anda. Pilih **Tambahkan langkah** untuk menambahkan langkah pertama dalam resep Anda.   
![\[Tangkapan layar menunjukkan panel Transform setelah memilih Tambah Langkah. Ketika Anda memilih kolom, opsi akan berubah secara dinamis. Anda dapat memilih untuk mengurutkan, mengambil tindakan pada kolom, dan memfilter nilai.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/author-recipe-preview-data-transform-panel.png)

1.  Di panel **Transform**, pilih untuk mengurutkan, mengambil tindakan pada kolom, dan memfilter nilai. Misalnya, pilih **Ganti nama kolom**.   
![\[Tangkapan layar menunjukkan panel Transform setelah memilih Tambah Langkah. Ketika Anda memilih kolom, opsi akan berubah secara dinamis. Anda dapat memilih untuk mengurutkan, mengambil tindakan pada kolom, dan memfilter nilai.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/author-recipe-add-step.png)

1.  Di panel Transform di sisi kanan, opsi untuk mengganti nama kolom memungkinkan Anda memilih kolom sumber untuk mengganti nama, dan memasukkan nama kolom baru. Setelah Anda melakukannya, pilih **Terapkan**. 

    Anda dapat melihat pratinjau setiap langkah, membatalkan langkah, dan menyusun ulang langkah-langkah dan menggunakan salah satu ikon tindakan, seperti Filter, Urutkan, Pisahkan, Gabungkan, dll. Saat Anda melakukan tindakan di kisi data, langkah-langkahnya ditambahkan ke resep di panel Transform.   
![\[Tangkapan layar menunjukkan kisi data Pratinjau dengan bilah alat yang disorot. Anda dapat menerapkan tindakan dengan menggunakan salah satu alat dan itu akan ditambahkan ke resep di panel Transform di sebelah kanan.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/author-recipe-preview-data-grid.png)

    Jika Anda perlu membuat perubahan, Anda dapat melakukan ini di panel Pratinjau dengan melihat pratinjau hasil dari setiap langkah, membatalkan langkah, dan menyusun ulang langkah-langkah. Contoh: 
   +  Undo/redo langkah - batalkan langkah dengan memilih ikon **undo**. Anda dapat mengulangi langkah dengan memilih ikon **redo**.   
![\[Tangkapan layar menunjukkan lebih banyak ikon.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/author-recipe-toolbar-undo-redo.png)
   +  Susun ulang langkah — saat Anda menyusun ulang langkah, AWS Glue Studio akan memvalidasi setiap langkah dan memberi tahu Anda jika langkah tersebut tidak valid. 

1.  Setelah Anda menerapkan langkah, panel Transform akan menunjukkan semua langkah dalam resep Anda. Anda dapat menghapus semua langkah untuk memulai dari awal, menambahkan lebih banyak langkah dengan memilih ikon tambahkan, atau memilih **Selesai Penulisan Resep**.   
![\[Tangkapan layar menunjukkan panel Transform dengan langkah-langkah yang ditambahkan ke resep Anda. Setelah selesai, pilih Selesai Penulisan Resep atau pilih ikon tambahkan untuk menambahkan lebih banyak langkah ke resep.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/author-recipe-done-authoring-recipe.png)

1.  Pilih **Simpan** di sisi kanan atas layar Anda. Langkah resep Anda tidak akan disimpan sampai Anda menyimpan pekerjaan Anda. 

# Impor AWS Glue DataBrew resep di AWS Glue Studio
<a name="glue-studio-data-preparation-import-recipe"></a>

 Dalam AWS Glue DataBrew, resep adalah serangkaian langkah transformasi data. AWS Glue DataBrew resep menentukan bagaimana mengubah data yang telah dibaca dan tidak menjelaskan di mana dan bagaimana membaca data, serta bagaimana dan di mana untuk menulis data. Ini dikonfigurasi di node Sumber dan Target diAWS Glue Studio. Untuk informasi selengkapnya tentang resep, lihat [Membuat dan menggunakan AWS Glue DataBrew resep](https://docs.aws.amazon.com/databrew/latest/dg/recipes.html). 

 Untuk menggunakan AWS Glue DataBrew resepAWS Glue Studio, mulailah dengan membuat resep di AWS Glue DataBrew. Jika Anda memiliki resep yang ingin Anda gunakan, Anda dapat melewati langkah ini. 

## Izin IAM untuk AWS Glue DataBrew
<a name="glue-studio-databrew-permissions"></a>

 Topik ini memberikan informasi untuk membantu Anda memahami tindakan dan sumber daya yang dapat digunakan oleh administrator IAM dalam kebijakan AWS Identity and Access Management (IAM) untuk transformasi Resep Persiapan Data. 

 Untuk informasi tambahan tentang keamanan di AWS Glue, lihat [Manajemen Akses](https://docs.aws.amazon.com/glue/latest/dg/security.html). 

**catatan**  
 Tabel berikut mencantumkan izin yang dibutuhkan pengguna jika mengimpor resep yang ada AWS Glue DataBrew . 


**Persiapan Data Resep mengubah tindakan**  

| Tindakan | Deskripsi | 
| --- | --- | 
| databrew:ListRecipes | Memberikan izin untuk mengambil resep AWS Glue DataBrew . | 
| databrew:ListRecipeVersions | Memberikan izin untuk mengambil versi AWS Glue DataBrew resep. | 
| databrew:DescribeRecipe | Memberikan izin untuk mengambil deskripsi AWS Glue DataBrew resep. | 



 Peran yang Anda gunakan untuk mengakses fungsi ini harus memiliki kebijakan yang memungkinkan beberapa AWS Glue DataBrew tindakan. Anda dapat mencapainya dengan menggunakan `AWSGlueConsoleFullAccess` kebijakan yang mencakup tindakan yang diperlukan atau menambahkan kebijakan sebaris berikut ke peran Anda: 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "databrew:ListRecipes",
        "databrew:ListRecipeVersions",
        "databrew:DescribeRecipe"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------



 Untuk menggunakan transformasi Resep Persiapan Data, Anda harus menambahkan `IAM:PassRole` tindakan ke kebijakan izin. 


**Izin tambahan yang diperlukan**  

| Tindakan | Deskripsi | 
| --- | --- | 
| iam:PassRole | Memberikan izin kepada IAM untuk memungkinkan pengguna melewati peran yang disetujui. | 

Tanpa izin ini terjadi kesalahan berikut:

```
"errorCode": "AccessDenied"
"errorMessage": "User: arn:aws:sts::account_id:assumed-role/AWSGlueServiceRole is not 
authorized to perform: iam:PassRole on resource: arn:aws:iam::account_id:role/service-role/AWSGlueServiceRole 
because no identity-based policy allows the iam:PassRole action"
```



## Mengimpor resep AWS Glue DataBrew
<a name="glue-studio-databrew-import-steps"></a>

**Untuk mengimpor AWS Glue DataBrew resep dan menggunakannya diAWS Glue Studio:**

 Jika Anda memiliki simpul **Resep Persiapan Data** yang ada dan Anda ingin mengedit langkah-langkah resep secara langsung AWS Glue Studio, Anda harus mengimpor langkah-langkah resep ke dalam AWS Glue Studio pekerjaan Anda. 

1.  Mulai AWS Glue pekerjaan AWS Glue Studio dengan sumber data. 

1.  Tambahkan simpul **Resep Persiapan Data** ke kanvas pekerjaan.   
![\[Tangkapan layar menunjukkan Tambahkan modal simpul dengan resep persiapan data yang tersedia untuk seleksi.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/glue-add-node-data-preparation-recipe.png)

1.  Di panel Transform, masukkan nama untuk resep Anda. 

1.  Pilih satu atau lebih node induk dengan memilih node yang tersedia di kanvas dari daftar drop-down. 

1.  Pilih **Resep Penulis**. Jika **Resep Penulis** berwarna abu-abu, itu tidak tersedia sampai orang tua node dipilih dan sesi pratinjau data telah selesai.   
![\[Author Data Preparation Recipe form with name field and node parents selection dropdown.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/glue-author-data-preparation-recipe.png)

1.  Bingkai data memuat dan menunjukkan informasi terperinci tentang data sumber Anda. 

    Pilih ikon **tindakan lainnya** dan pilih **Impor resep**.   
![\[Data preparation interface showing "Build your Recipe" with an "Add step" button.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/glue-dataframe-import-recipe.png)

1.  Gunakan panduan resep Impor untuk menyelesaikan langkah-langkahnya. Pada langkah 1, cari resep Anda, pilih, dan pilih **Berikutnya**.   
![\[Import recipe interface showing two recipes, with one selected for import.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/import-recipe-step-1.png)

1.  Pada langkah 2, pilih opsi impor Anda. Anda dapat memilih untuk Menambahkan resep baru ke resep yang ada atau Timpa resep yang sudah ada. Pilih **Berikutnya**.   
![\[Import recipe interface showing selected recipe, version, and two imported steps.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/import-recipe-step-2.png)

1.  Pada langkah 3, validasi langkah-langkah resep. Setelah Anda mengimpor AWS Glue DataBrew resep Anda, Anda dapat mengedit resep ini langsung di AWS Glue Studio.   
![\[Recipe import interface showing two steps and a validation progress indicator.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/import-recipe-step-3.png)  
![\[Import recipe interface showing validated steps for sorting and formatting data.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/import-recipe-step-3-validated-2.png)

1.  Setelah ini, langkah-langkah akan diimpor sebagai bagian dari AWS Glue pekerjaan Anda. Buat perubahan konfigurasi yang diperlukan di tab **Detail pekerjaan**, seperti menamai pekerjaan Anda dan menyesuaikan kapasitas yang dialokasikan sesuai kebutuhan. Pilih **Simpan** untuk menyimpan pekerjaan dan resep Anda. 
**catatan**  
 JOIN, UNION, GROUP\$1BY, PIVOT, UNPIVOT, TRANSPOSE tidak didukung untuk impor resep, juga tidak akan tersedia dalam mode pembuatan resep. 

1.  Secara opsional, Anda dapat menyelesaikan penulisan pekerjaan dengan menambahkan node transformasi lain sesuai kebutuhan dan menambahkan node target Data. 

    Jika Anda menyusun ulang langkah-langkah setelah mengimpor resep, AWS Glue lakukan validasi pada langkah-langkah tersebut. Misalnya, jika Anda mengganti nama dan kemudian menghapus kolom, dan Anda memindahkan langkah hapus di atas, maka langkah ganti nama akan menjadi tidak valid. Anda kemudian dapat mengedit langkah-langkah untuk memperbaiki kesalahan validasi. 

# Migrasi dari AWS Glue DataBrew ke AWS Glue Studio
<a name="databrew-migration-to-glue-studio"></a>

 Jika Anda memiliki resep AWS Glue DataBrew, gunakan daftar periksa berikut untuk memigrasikan resep Anda ke Glue AWS Studio. 


| Jika Anda ingin | Kemudian lakukan ini | 
| --- | --- | 
|  Izinkan pengguna untuk mengambil AWS Glue DataBrew resep, versi resep, dan deskripsi resep.  |  Tambahkan izin IAM ke kebijakan yang memungkinkan peran Anda mengakses tindakan yang diperlukan. Lihat [Izin IAM untuk AWS Glue DataBrew](glue-studio-data-preparation-import-recipe.md#glue-studio-databrew-permissions).  | 
|  Impor AWS Glue DataBrew resep yang ada ke AWS Glue Studio.  |  Ikuti langkah-langkah di [Mengimpor resep AWS Glue DataBrew](glue-studio-data-preparation-import-recipe.md#glue-studio-databrew-import-steps).  | 
|  Impor resep dengan JOIN dan UNION.  |  Resep dengan transformasi UNION dan JOIN tidak didukung. Gunakan transformasi Gabung dan Serikat di AWS Glue Studio sebelum atau sesudah simpul Resep Persiapan Data.  | 

# Menggunakan Change Schema untuk memetakan ulang kunci properti data
<a name="transforms-configure-applymapping"></a>

Transformasi *Change Schema* memetakan ulang kunci properti data sumber ke dalam konfigurasi yang diinginkan untuk data target. Dalam simpul transformasi Skema Perubahan, Anda dapat:
+ Mengubah nama beberapa kunci properti data.
+ Mengubah tipe data kunci properti data, jika tipe data baru didukung dan ada path transformasi antara dua tipe data.
+ Memilih subset kunci properti data dengan menunjukkan kunci properti data yang ingin Anda buang.

Anda juga dapat menambahkan node *Change Schema* tambahan ke diagram pekerjaan sesuai kebutuhan — misalnya, untuk memodifikasi sumber data tambahan atau mengikuti transformasi *Gabung*. 

## Menggunakan Change Schema dengan tipe data desimal
<a name="transforms-configure-applymapping-decimal-datatype"></a>

 Saat menggunakan transformasi **Change Schema** dengan tipe data desimal, transformasi **Change Schema** memodifikasi presisi ke nilai default (10,2). Untuk memodifikasi ini dan mengatur presisi untuk kasus penggunaan Anda, Anda dapat menggunakan transformasi **Kueri SQL** dan mentransmisikan kolom dengan presisi tertentu. 

 Misalnya, jika Anda memiliki kolom input bernama "DecimalCol" dari jenis Desimal, dan Anda ingin memetakannya kembali ke kolom keluaran bernama "OutputDecimalCol" dengan presisi spesifik (18,6), Anda akan: 

1.  Tambahkan transformasi **Query SQL** berikutnya setelah transformasi **Change Schema**. 

1.  Dalam transformasi **SQL Query**, gunakan kueri SQL untuk mentransmisikan kolom yang dipetakan ulang ke presisi yang diinginkan. Kueri SQL akan terlihat seperti ini: 

   ```
   SELECT col1, col2, CAST(DecimalCol AS DECIMAL(18,6)) AS OutputDecimalCol
   FROM __THIS__
   ```

    Dalam query SQL di atas: 
   +  `col1` dan `col2` adalah kolom lain dalam data Anda yang ingin Anda lewati tanpa modifikasi. 
   +  `DecimalCol` adalah nama kolom asli dari data input. 
   +  `CAST (DecimalCol AS DECIMAL (18,6)) `melemparkan` DecimalCol `ke tipe Desimal dengan presisi 18 digit dan 6 tempat desimal. 
   +  `AS OutputDecimalCol `mengganti nama kolom yang dicor menjadi` `. OutputDecimalCol 

 Dengan menggunakan transformasi **SQL Query**, Anda dapat mengganti presisi default yang ditetapkan oleh transformasi **Change Schema** dan secara eksplisit melemparkan kolom Desimal ke presisi yang diinginkan. **Pendekatan ini memungkinkan Anda memanfaatkan transformasi **Change Schema** untuk mengganti nama dan merestrukturisasi data Anda sambil menangani persyaratan presisi untuk kolom Desimal melalui transformasi SQL Query berikutnya.** 

## Menambahkan transformasi Change Schema ke pekerjaan Anda
<a name="transforms-configure-applymapping-add-to-job"></a>

**catatan**  
Transformasi **Change Schema** tidak peka huruf besar/kecil.

**Untuk menambahkan node transformasi Change Schema ke diagram pekerjaan Anda**

1. (Opsional) Buka panel Resource dan kemudian pilih **Change Schema** untuk menambahkan transformasi baru ke diagram pekerjaan Anda, jika diperlukan. 

1. Di panel properti node, masukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pilih tab **Transform** di panel properti node.

1. Memodifikasi skema input:
   + Untuk mengubah nama kunci properti data, masukkan nama baru untuk kunci tersebut di bidang **Kunci target**.
   + Untuk mengubah tipe data untuk kunci properti data, pilih tipe data baru untuk kunci tersebut dari daftar **Jenis data**.
   + Untuk menghapus kunci properti data dari skema target, pilih kotak centang **Buang** untuk kunci itu.

1. (Opsional) Setelah mengkonfigurasi properti simpul transformasi, Anda dapat melihat skema yang telah diubah untuk data Anda dengan memilih tab **Skema output** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Jika Anda belum menentukan IAM role pada tab **Detail tugas**, maka Anda akan diminta untuk memasukkan IAM role di sini.

1. (Opsional) Setelah mengkonfigurasi properti simpul dan properti transformasi, Anda dapat melihat pratinjau set data yang diubah dengan memilih tab **Pratinjau data** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Ada biaya yang terkait dengan penggunaan fitur ini, dan penagihan akan dimulai langsung setelah Anda memberikan IAM role.

# Menggunakan Drop Duplikat
<a name="transforms-drop-duplicates"></a>

 Transformasi Drop Duplicates menghapus baris dari sumber data Anda dengan memberi Anda dua opsi. Anda dapat memilih untuk menghapus baris duplikat yang benar-benar sama, atau Anda dapat memilih untuk memilih bidang yang cocok dan hanya menghapus baris tersebut berdasarkan bidang yang Anda pilih. 

 Misalnya, dalam kumpulan data ini, Anda memiliki baris duplikat di mana semua nilai di beberapa baris persis sama dengan baris lain, dan beberapa nilai dalam baris sama atau berbeda. 


| Baris | Nama | Email | Umur | Status | Catatan | 
| --- | --- | --- | --- | --- | --- | 
| 1 | Sukacita | sukacita @gmail | 33 | NY |  | 
| 2 | Tim | tim @gmail | 45 | OH |  | 
| 3 | Mawar | mawar @gmail | 23 | NJ |  | 
| 4 | Tim | tim @gmail | 42 | OH |  | 
| 5 | Mawar | mawar @gmail | 23 | NJ |  | 
| 6 | Tim | tim @gmail | 42 | OH | ini adalah baris duplikat dan cocok sepenuhnya pada semua nilai sebagai baris \$14 | 
| 7 | Mawar | mawar @gmail | 23 | NJ | Ini adalah baris duplikat dan cocok sepenuhnya pada semua nilai sebagai baris \$15 | 

 Jika Anda memilih untuk mencocokkan seluruh baris, baris 6 dan 7 akan dihapus dari kumpulan data. Kumpulan data sekarang: 


| Baris | Nama | Email | Umur | Status | 
| --- | --- | --- | --- | --- | 
| 1 | Sukacita | sukacita @gmail | 33 | NY | 
| 2 | Tim | tim @gmail | 45 | OH | 
| 3 | Mawar | mawar @gmail | 23 | NJ | 
| 4 | Tim | tim @gmail | 42 | OH | 
| 5 | Mawar | mawar @gmail | 23 | NJ | 

 Jika Anda memilih untuk menentukan kunci, Anda dapat memilih untuk menghapus baris yang cocok dengan 'nama' dan 'email'. Ini memberi Anda kontrol yang lebih baik tentang apa yang dimaksud dengan 'baris duplikat' untuk kumpulan data Anda. Dengan menentukan 'nama' dan 'email', kumpulan data sekarang: 


| Baris | Nama | Email | Umur | Status | 
| --- | --- | --- | --- | --- | 
| 1 | Sukacita | sukacita @gmail | 33 | NY | 
| 2 | Tim | tim @gmail | 45 | OH | 
| 3 | Mawar | mawar @gmail | 23 | NJ | 



 Beberapa hal yang perlu diingat: 
+  Agar baris dikenali sebagai duplikat, nilainya peka huruf besar. semua nilai dalam baris harus memiliki casing yang sama - ini berlaku untuk salah satu opsi yang Anda pilih (Cocokkan seluruh baris atau Tentukan kunci). 
+  Semua nilai dibaca sebagai string. 
+  Transformasi **Drop Duplicates** menggunakan perintah Spark DropDuplicates. 
+  Saat menggunakan transformasi **Drop Duplicates**, baris pertama disimpan dan baris lainnya dijatuhkan. 
+  Transformasi **Drop Duplicates** tidak mengubah skema kerangka data. Jika Anda memilih untuk menentukan kunci, semua bidang disimpan dalam kerangka data yang dihasilkan. 

# Menggunakan SelectFields untuk menghapus sebagian besar kunci properti data
<a name="transforms-configure-select-fields"></a>

Anda dapat membuat subset kunci properti data dari dataset menggunakan transformasi. *SelectFields* Anda menunjukkan kunci properti data mana yang ingin Anda simpan dan sisanya akan dihapus dari set data.

**catatan**  
*SelectFields*Transformasinya peka huruf besar/kecil. Gunakan *ApplyMapping*jika Anda memerlukan cara case-insensitive untuk memilih bidang.

**Untuk menambahkan node SelectFields transformasi ke diagram pekerjaan Anda**

1. (Opsional) Buka panel Resource, lalu pilih **SelectFields**untuk menambahkan transformasi baru ke diagram pekerjaan Anda, jika diperlukan. 

1. Pada tab **Properti simpul**, masukkan nama untuk simpul dalam diagram tugas. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pilih tab **Transformasi** di panel detail simpul.

1. Di bawah judul **SelectFields**, pilih kunci properti data dalam kumpulan data yang ingin Anda simpan. Kunci properti data yang tidak dipilih akan dibuang dari set data.

   Anda juga dapat memilih kotak centang yang ada di samping judul kolom **Bidang** untuk secara otomatis memilih semua kunci properti data dalam set data. Kemudian Anda dapat membatalkan pilihan kunci properti data individu untuk menghapusnya dari set data.

1. (Opsional) Setelah mengkonfigurasi properti simpul transformasi, Anda dapat melihat skema yang telah diubah untuk data Anda dengan memilih tab **Skema output** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Jika Anda belum menentukan IAM role pada tab **Detail tugas**, maka Anda akan diminta untuk memasukkan IAM role di sini.

1. (Opsional) Setelah mengkonfigurasi properti simpul dan properti transformasi, Anda dapat melihat pratinjau set data yang diubah dengan memilih tab **Pratinjau data** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Ada biaya yang terkait dengan penggunaan fitur ini, dan penagihan akan dimulai langsung setelah Anda memberikan IAM role.

# Menggunakan DropFields untuk menyimpan sebagian besar kunci properti data
<a name="transforms-configure-drop-fields"></a>

Anda dapat membuat subset kunci properti data dari dataset menggunakan transformasi. *DropFields* Anda menunjukkan kunci properti data mana yang ingin Anda hapus dari set data dan kunci sisanya akan dipertahankan.

**catatan**  
*DropFields*Transformasinya peka huruf besar/kecil. Gunakan *Ubah Skema* jika Anda memerlukan cara yang tidak peka huruf besar/kecil untuk memilih bidang.

**Untuk menambahkan node DropFields transformasi ke diagram pekerjaan Anda**

1. (Opsional) Buka panel Resource dan kemudian pilih **DropFields**untuk menambahkan transformasi baru ke diagram pekerjaan Anda, jika diperlukan. 

1. Pada tab **Properti simpul**, masukkan nama untuk simpul dalam diagram tugas. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pilih tab **Transformasi** di panel detail simpul.

1. Di bawah judul **DropFields**, pilih kunci properti data untuk dijatuhkan dari sumber data.

   Anda juga dapat memilih kotak centang yang ada di samping judul kolom **Bidang** untuk secara otomatis memilih semua kunci properti data dalam set data. Kemudian Anda dapat membatalkan pilihan masing-masing kunci properti data untuk mempertahankannya dalam set data.

1. (Opsional) Setelah mengkonfigurasi properti simpul transformasi, Anda dapat melihat skema yang telah diubah untuk data Anda dengan memilih tab **Skema output** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Jika Anda belum menentukan IAM role pada tab **Detail tugas**, maka Anda akan diminta untuk memasukkan IAM role di sini.

1. (Opsional) Setelah mengkonfigurasi properti simpul dan properti transformasi, Anda dapat melihat pratinjau set data yang diubah dengan memilih tab **Pratinjau data** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Ada biaya yang terkait dengan penggunaan fitur ini, dan penagihan akan dimulai langsung setelah Anda memberikan IAM role.

# Mengganti nama sebuah bidang dalam set data
<a name="transforms-configure-rename-field"></a>

Anda dapat menggunakan *RenameField*transformasi untuk mengubah nama kunci properti individual dalam kumpulan data. 

**catatan**  
*RenameField*Transformasinya peka huruf besar/kecil. Gunakan *ApplyMapping*jika Anda membutuhkan transformasi case-insensitive.

**Tip**  
Jika Anda menggunakan transformasi *Change Schema*, Anda dapat mengganti nama beberapa kunci properti data dalam dataset dengan satu transformasi.

**Untuk menambahkan node RenameField transformasi ke diagram pekerjaan Anda**

1. (Opsional) Buka panel Resource dan kemudian pilih **RenameField**untuk menambahkan transformasi baru ke diagram pekerjaan Anda, jika diperlukan. 

1. Pada tab **Properti simpul**, masukkan nama untuk simpul dalam diagram tugas. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pilih tab **Transformasi**.

1. Pada judul **Bidang data**, pilih sebuah kunci properti dari sumber data dan kemudian masukkan nama baru di bidang **Nama bidang baru**. 

1. (Opsional) Setelah mengkonfigurasi properti simpul transformasi, Anda dapat melihat skema yang telah diubah untuk data Anda dengan memilih tab **Skema output** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Jika Anda belum menentukan IAM role pada tab **Detail tugas**, maka Anda akan diminta untuk memasukkan IAM role di sini.

1. (Opsional) Setelah mengkonfigurasi properti simpul dan properti transformasi, Anda dapat melihat pratinjau set data yang diubah dengan memilih tab **Pratinjau data** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Ada biaya yang terkait dengan penggunaan fitur ini, dan penagihan akan dimulai langsung setelah Anda memberikan IAM role.

# Menggunakan Spigot untuk mengambil sampel dari set data Anda
<a name="transforms-configure-spigot"></a>

Untuk menguji transformasi yang dilakukan oleh tugas Anda, Anda mungkin ingin mendapatkan sampel data untuk memeriksa apakah transformasi bekerja sebagaimana mestinya. Transformasi *Spigot* menulis subset catatan dari set data ke file JSON dalam sebuah bucket Amazon S3. Metode pengambilan sampel data dapat berupa jumlah tertentu dari catatan dari awal file atau faktor probabilitas yang digunakan untuk memilih catatan.

**Untuk menambahkan simpul transformasi Spigot ke diagram tugas Anda**

1. (Opsional) Buka panel Resource dan kemudian pilih **Spigot** untuk menambahkan transformasi baru ke diagram pekerjaan Anda, jika diperlukan. 

1. Pada tab **Properti simpul**, masukkan nama untuk simpul dalam diagram tugas. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pilih tab **Transformasi** di panel detail simpul.

1. Masukkan sebuah path Amazon S3 atau pilih **Jelajahi S3** untuk memilih lokasi di Amazon S3. Ini adalah lokasi di mana tugas menulis file JSON yang berisi sampel data.

1. Masukkan informasi untuk metode pengambilan sampel. Anda dapat menentukan nilai untuk **Jumlah catatan** untuk menulis mulai dari awal set data dan **Ambang probabilitas** (dimasukkan sebagai nilai desimal dengan nilai maksimum 1) dari pemilihan catatan yang diberikan. 

   Misalnya, untuk menulis 50 catatan pertama dari set data, Anda akan mengatur **Jumlah catatan** ke 50 dan **Ambang probabilitas** ke 1 (100%).

# Menggabungkan set data
<a name="transforms-configure-join"></a>

Transformasi *Join* memungkinkan Anda untuk menggabungkan dua set data menjadi satu. Anda menentukan nama-nama kunci dalam skema dari setiap set data yang akan dibandingkan. Output `DynamicFrame` berisi baris di mana kunci memenuhi syarat penggabungan. Baris di setiap set data yang memenuhi syarat penggabungan digabungkan menjadi satu baris dalam output `DynamicFrame` yang berisi semua kolom yang ditemukan di salah satu set data.

**Untuk menambahkan simpul transformasi Join ke diagram tugas Anda**

1. Jika hanya ada satu sumber data yang tersedia, maka Anda harus menambahkan simpul sumber data baru ke diagram tugas.

1. Pilih salah satu simpul sumber untuk penggabungan. Buka panel Resource dan kemudian pilih **Gabung** untuk menambahkan transformasi baru ke diagram pekerjaan Anda.

1. Pada tab **Properti simpul**, masukkan nama untuk simpul dalam diagram tugas.

1. Pada tab **Properti simpul**, pada judul **Simpul**, tambahkan simpul induk sehingga ada dua set data yang menyediakan masukan untuk penggabungan. Induk dapat berupa simpul sumber data atau simpul transformasi. 
**catatan**  
Sebuah transformasi join hanya dapat memiliki dua simpul induk.

1. Pilih tab **Transformasi**.

   Jika Anda melihat pesan yang menunjukkan bahwa ada nama kunci yang bertentangan, Anda dapat:
   + Pilih **Selesaikan untuk secara** otomatis menambahkan node *ApplyMapping*transformasi ke diagram pekerjaan Anda. ApplyMapping Node menambahkan awalan ke kunci apa pun dalam kumpulan data yang memiliki nama yang sama dengan kunci di kumpulan data lainnya. Sebagai contoh, jika Anda menggunakan nilai default **right**, maka setiap kunci dalam set data kanan yang memiliki nama yang sama dengan kunci pada set data kiri akan diubah namanya menjadi `(right)key name`.
   + Secara manual, tambahkan simpul transformasi sebelumnya dalam diagram tugas untuk menghapus atau mengubah nama kunci yang bertentangan.

1. Pilih jenis penggabungan dalam daftar **Jenis penggabungan**. 
   + **Penggabungan dalam**: Mengembalikan baris dengan kolom dari kedua set data untuk setiap kecocokan berdasarkan syarat penggabungan. Baris yang tidak memenuhi syarat penggabungan tidak dikembalikan.
   + **Penggabungan kiri**: Semua baris dari set data kiri dan hanya baris dari set data kanan yang memenuhi syarat penggabungan. 
   + **Penggabungan kanan**: Semua baris dari set data kanan dan hanya baris dari set data kiri yang memenuhi syarat penggabungan.
   + **Penggabungan luar**: Semua baris dari kedua set data.
   + **Penggabungan semi kiri**: Semua baris dari set data kiri yang memiliki kecocokan di set data kanan berdasarkan syarat penggabungan. 
   + **Penggabungan kebalikan kiri**: Semua baris di set data kiri yang tidak memiliki kecocokan di set data kanan berdasarkan syarat penggabungan. 

1. Pada tab **Transformasi**, pada judul **Syarat penggabungan**, pilih **Tambahkan syarat**. Pilih kunci properti dari setiap set data yang akan dibandingkan. Kunci properti di sisi kiri operator perbandingan disebut sebagai set data kiri dan kunci properti di sebelah kanan disebut sebagai set data kanan. 

   Untuk syarat penggabungan yang lebih kompleks, Anda dapat menambahkan kunci pencocokan tambahan dengan memilih **Tambahkan syarat** lebih dari sekali. Jika Anda secara tidak sengaja menambahkan sebuah syarat, Anda dapat memilih ikon hapus (![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/delete-icon-black.png)) untuk menghapusnya.

1. (Opsional) Setelah mengkonfigurasi properti simpul transformasi, Anda dapat melihat skema yang telah diubah untuk data Anda dengan memilih tab **Skema output** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Jika Anda belum menentukan IAM role pada tab **Detail tugas**, maka Anda akan diminta untuk memasukkan IAM role di sini.

1. (Opsional) Setelah mengkonfigurasi properti simpul dan properti transformasi, Anda dapat melihat pratinjau set data yang diubah dengan memilih tab **Pratinjau data** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Ada biaya yang terkait dengan penggunaan fitur ini, dan penagihan akan dimulai langsung setelah Anda memberikan IAM role.

Untuk contoh skema output penggabungan, pertimbangkan penggabungan antara dua set data dengan kunci properti berikut:

```
Left: {id, dept, hire_date, salary, employment_status}
Right: {id, first_name, last_name, hire_date, title}
```

Penggabungan dikonfigurasi untuk mencocokkan berdasarkan kunci `id` dan `hire_date` menggunakan operator perbandingan `=`. 

Karena kedua set data mengandung kunci `id` dan `hire_date`, Anda pilih **Ubah** untuk secara otomatis menambahkan prefiks **right** ke kunci dalam set data kanan. 

Kunci dalam skema output akan:

```
{id, dept, hire_date, salary, employment_status, 
(right)id, first_name, last_name, (right)hire_date, title}
```

# Menggunakan Union untuk menggabungkan baris
<a name="transforms-configure-union"></a>

 Anda menggunakan node transformasi Union ketika Anda ingin menggabungkan baris dari lebih dari satu sumber data yang memiliki skema yang sama. 

 Ada beberapa jenis transformasi Union: 

1. SEMUA — saat menerapkan SEMUA, serikat yang dihasilkan tidak menghapus baris duplikat.

1. DISTINCT — saat menerapkan DISTINCT, gabungan yang dihasilkan menghapus baris duplikat.

 **Serikat vs Bergabung** 

 Anda menggunakan Union untuk menggabungkan baris. Anda menggunakan Gabung untuk menggabungkan kolom. 

**Menggunakan transformasi Union di kanvas Visual ETL**

1.  Tambahkan lebih dari satu sumber data untuk melakukan transformasi serikat. Untuk menambahkan sumber data, buka Panel Sumber Daya, lalu pilih sumber data dari tab Sumber. Sebelum menggunakan transformasi Union, Anda harus memastikan bahwa semua sumber data yang terlibat dalam serikat memiliki skema dan struktur yang sama. 

1.  Bila Anda memiliki setidaknya dua sumber data yang ingin Anda gabungkan menggunakan transformasi Union, buat transformasi Union dengan menambahkannya ke kanvas. Buka Resource Panel di kanvas dan cari 'Union'. Anda juga dapat memilih tab Transforms di Resource Panel dan gulir ke bawah sampai Anda menemukan Union transform, lalu pilih **Union**. 

1. Pilih node Union pada kanvas pekerjaan. Di jendela properti Node, pilih node induk untuk terhubung ke transformasi Union.

1. AWS Gluememeriksa kompatibilitas untuk memastikan bahwa transformasi Union dapat diterapkan ke semua sumber data. Jika skema untuk sumber data sama, operasi akan diizinkan. Jika sumber data tidak memiliki skema yang sama, pesan kesalahan yang tidak valid ditampilkan: “Skema input dari gabungan ini tidak sama. Pertimbangkan ApplyMapping untuk menggunakan untuk mencocokkan skema.” Untuk memperbaikinya, pilih Gunakan **ApplyMapping**. 

1. Pilih jenis Union.

   1. Semua - Secara default, tipe All Union dipilih; ini akan menghasilkan baris duplikat jika ada dalam kombinasi data.

   1. Distinct - Pilih Distinct jika Anda ingin baris duplikat dihapus dari kombinasi data yang dihasilkan.

# Menggunakan SplitFields untuk membagi kumpulan data menjadi dua
<a name="transforms-configure-split-fields"></a>

*SplitFields*Transformasi memungkinkan Anda untuk memilih beberapa kunci properti data dalam dataset input dan memasukkannya ke dalam satu kumpulan data dan kunci yang tidak dipilih ke dalam kumpulan data terpisah. Output dari transformasi ini adalah sebuah kumpulan `DynamicFrames`.

**catatan**  
Anda harus menggunakan *SelectFromCollection*transformasi untuk mengubah koleksi `DynamicFrames` menjadi satu `DynamicFrame` sebelum Anda dapat mengirim output ke lokasi target.

*SplitFields*Transformasinya peka huruf besar/kecil. Tambahkan *ApplyMapping*transformasi sebagai node induk jika Anda memerlukan nama kunci properti case-insensitive.

**Untuk menambahkan node SplitFields transformasi ke diagram pekerjaan Anda**

1. (Opsional) Buka panel Resource dan kemudian pilih **SplitFields**untuk menambahkan transformasi baru ke diagram pekerjaan Anda, jika diperlukan. 

1. Pada tab **Properti simpul**, masukkan nama untuk simpul dalam diagram tugas. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pilih tab **Transformasi**.

1. Pilih kunci properti mana yang ingin Anda masukkan ke dalam set data pertama. Kunci yang tidak Anda pilih akan ditempatkan di set data kedua.

1. (Opsional) Setelah mengkonfigurasi properti simpul transformasi, Anda dapat melihat skema yang telah diubah untuk data Anda dengan memilih tab **Skema output** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Jika Anda belum menentukan IAM role pada tab **Detail tugas**, maka Anda akan diminta untuk memasukkan IAM role di sini.

1. (Opsional) Setelah mengkonfigurasi properti simpul dan properti transformasi, Anda dapat melihat pratinjau set data yang diubah dengan memilih tab **Pratinjau data** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Ada biaya yang terkait dengan penggunaan fitur ini, dan penagihan akan dimulai langsung setelah Anda memberikan IAM role.

1. Konfigurasikan node *SelectFromCollection*transformasi untuk memproses kumpulan data yang dihasilkan.

# Gambaran umum transformasi *SelectFromCollection*
<a name="transforms-selectfromcollection-overview"></a>

Transformasi tertentu memiliki beberapa kumpulan data sebagai outputnya, bukan satu kumpulan data, misalnya,. *SplitFields* *SelectFromCollection*Transformasi memilih satu dataset (`DynamicFrame`) dari kumpulan dataset (array). `DynamicFrames` Output untuk transformasi tersebut adalah `DynamicFrame` yang dipilih. 

Anda harus menggunakan transformasi ini setelah Anda menggunakan transformasi yang menciptakan koleksi `DynamicFrames`, seperti:
+ Transformasi kode kustom
+ *SplitFields*

Jika Anda tidak menambahkan node *SelectFromCollection*transformasi ke diagram pekerjaan Anda setelah salah satu dari transformasi ini, Anda akan mendapatkan kesalahan untuk pekerjaan Anda. 

Induk simpul untuk transformasi ini haruslah sebuah simpul yang mengembalikan koleksi `DynamicFrames`. Jika Anda memilih sebuah induk untuk simpul transformasi yang mengembalikan satu `DynamicFrame` ini, seperti transformasi *Join*, maka tugas Anda akan mengembalikan kesalahan. 

Demikian pula, jika Anda menggunakan *SelectFromCollection*node dalam diagram pekerjaan Anda sebagai induk untuk transformasi yang mengharapkan satu `DynamicFrame` sebagai input, pekerjaan Anda mengembalikan kesalahan.

![\[Tangkapan layar menunjukkan bidang Induk simpul pada tab properti Simpul dari panel detail simpul. Induk simpul yang dipilih adalah SplitFields dan pesan kesalahan yang ditampilkan berbunyi "Induk simpul Split Fields menghasilkan output sebuah koleksi, tetapi simpul Drop Fields tidak menerima sebuah koleksi."\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/screenshot-edit-splitfields-wrong-parent.png)


# Menggunakan SelectFromCollection untuk memilih kumpulan data mana yang akan disimpan
<a name="transforms-configure-select-collection"></a>

Gunakan *SelectFromCollection*transformasi untuk mengubah koleksi `DynamicFrames` menjadi satu`DynamicFrame`.

**Untuk menambahkan node SelectFromCollection transformasi ke diagram pekerjaan Anda**

1. (Opsional) Buka panel Resource dan kemudian pilih **SelectFromCollection**untuk menambahkan transformasi baru ke diagram pekerjaan Anda, jika diperlukan. 

1. Pada tab **Properti simpul**, masukkan nama untuk simpul dalam diagram tugas. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pilih tab **Transformasi**.

1. Pada judul **Indeks bingkai**, pilih nomor indeks array yang sesuai dengan `DynamicFrame` yang ingin Anda pilih dari koleksi `DynamicFrames` tersebut.

   Misalnya, jika node induk untuk transformasi ini adalah *SplitFields*transformasi, pada tab **skema Output** dari node itu Anda dapat melihat skema untuk masing-masing. `DynamicFrame` Jika Anda ingin menyimpan `DynamicFrame` yang dikaitkan dengan skema untuk **Output 2**, Anda akan memilih **1** untuk nilai **Indeks bingkai**, yang merupakan nilai kedua dalam daftar.

   Hanya `DynamicFrame` yang Anda pilih yang disertakan dalam output.

1. (Opsional) Setelah mengkonfigurasi properti simpul transformasi, Anda dapat melihat skema yang telah diubah untuk data Anda dengan memilih tab **Skema output** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Jika Anda belum menentukan IAM role pada tab **Detail tugas**, maka Anda akan diminta untuk memasukkan IAM role di sini.

1. (Opsional) Setelah mengkonfigurasi properti simpul dan properti transformasi, Anda dapat melihat pratinjau set data yang diubah dengan memilih tab **Pratinjau data** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Ada biaya yang terkait dengan penggunaan fitur ini, dan penagihan akan dimulai langsung setelah Anda memberikan IAM role.

# Menemukan dan mengisi nilai yang hilang dalam set data
<a name="transforms-configure-fmv"></a>

Anda dapat menggunakan *FillMissingValues*transformasi untuk menemukan catatan dalam kumpulan data yang memiliki nilai yang hilang dan menambahkan bidang baru dengan nilai yang ditentukan oleh imputasi. Set data input digunakan untuk melatih model machine learning (ML) yang menentukan apa nilai yang hilang seharusnya. Jika Anda menggunakan kumpulan data tambahan, maka setiap set tambahan digunakan sebagai data pelatihan untuk model ML, sehingga hasilnya mungkin tidak akurat.

**Untuk menggunakan node FillMissingValues transformasi dalam diagram pekerjaan Anda**

1. (Opsional) Buka panel Resource dan kemudian pilih **FillMissingValues**untuk menambahkan transformasi baru ke diagram pekerjaan Anda, jika diperlukan.

1. Pada tab **Properti simpul**, masukkan nama untuk simpul dalam diagram tugas. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut. 

1. Pilih tab **Transformasi**.

1. Untuk **Bidang data**, pilih kolom atau nama kolom dari sumber data yang ingin Anda analisis nilai-nilai hilangnya.

1. (Opsional) Dalam bidang **Nama bidang baru**, masukkan nama untuk bidang yang ditambahkan ke setiap catatan yang akan menyimpan nilai pengganti perkiraan untuk bidang yang dianalisis. Jika bidang yang dianalisis tidak memiliki nilai yang hilang, maka nilai di bidang yang dianalisis akan disalin ke bidang baru. 

   Jika Anda tidak menentukan nama untuk bidang baru, maka nama default-nya adalah nama kolom yang dianalisis dengan ditambahkan `_filled`. Misalnya, jika Anda memasukkan **Age** untuk **Bidang data** dan tidak menentukan nilai untuk **Nama bidang baru**, maka sebuah bidang baru bernama **Age\$1filled** akan ditambahkan ke setiap catatan.

1. (Opsional) Setelah mengkonfigurasi properti simpul transformasi, Anda dapat melihat skema yang telah diubah untuk data Anda dengan memilih tab **Skema output** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Jika Anda belum menentukan IAM role pada tab **Detail tugas**, maka Anda akan diminta untuk memasukkan IAM role di sini.

1. (Opsional) Setelah mengkonfigurasi properti simpul dan properti transformasi, Anda dapat melihat pratinjau set data yang diubah dengan memilih tab **Pratinjau data** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Ada biaya yang terkait dengan penggunaan fitur ini, dan penagihan akan dimulai langsung setelah Anda memberikan IAM role.

# Mem-filter kunci dalam set data
<a name="transforms-filter"></a>

Gunakan transformasi *Filter* untuk membuat set data baru dengan mem-filter catatan dari set data masukan berdasarkan ekspresi reguler. Baris yang tidak memenuhi syarat filter dihapus dari output.
+ Untuk tipe data string, Anda dapat mem-filter baris di mana nilai kunci cocok dengan string yang ditentukan.
+ Untuk tipe data numerik, Anda dapat mem-filter baris dengan membandingkan nilai kunci untuk nilai yang ditentukan menggunakan operator perbandingan `<`, `>`, `=`, `!=`, `<=`, dan `>=`.

Jika Anda menentukan beberapa syarat filter, hasilnya digabungkan menggunakan operator `AND` secara default, tetapi Anda dapat memilih `OR` sebagai gantinya.

Transformasi *Filter* peka huruf besar-kecil. Tambahkan *ApplyMapping*transformasi sebagai node induk jika Anda memerlukan nama kunci properti case-insensitive.

**Untuk menambahkan simpul transformasi Filter ke diagram tugas Anda**

1. (Opsional) Buka panel Resource dan kemudian pilih **Filter** untuk menambahkan transformasi baru ke diagram pekerjaan Anda, jika diperlukan. 

1. Pada tab **Properti simpul**, masukkan nama untuk simpul dalam diagram tugas. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pilih tab **Transformasi**.

1. Pilih salah satu **Global AND** atau **Global OR**. Ini menentukan bagaimana beberapa syarat filter digabungkan. Semua syarat digabungkan menggunakan operasi `AND` atau `OR`. Jika Anda hanya memiliki satu syarat filter, maka Anda dapat memilih salah satu.

1. Pilih tombol **Tambahkan syarat** di bagian **Syarat filter** untuk menambahkan syarat filter. 

   Di bidang **Kunci**, pilih nama sebuah kunci properti dari set data. Di bidang **Operasi**, pilih operator perbandingan. Di bidang **Nilai**, masukkan nilai perbandingan. Berikut ini adalah beberapa contoh syarat filter:
   + `year >= 2018`
   + `State matches 'CA*'`

   Ketika Anda mem-filter nilai-nilai string, pastikan bahwa nilai perbandingan menggunakan format ekspresi reguler yang cocok dengan bahasa skrip yang dipilih di properti tugas (Python atau Scala).

1. Tambahkan syarat filter tambahan, sesuai kebutuhan. 

1. (Opsional) Setelah mengkonfigurasi properti simpul transformasi, Anda dapat melihat skema yang telah diubah untuk data Anda dengan memilih tab **Skema output** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Jika Anda belum menentukan IAM role pada tab **Detail tugas**, maka Anda akan diminta untuk memasukkan IAM role di sini.

1. (Opsional) Setelah mengkonfigurasi properti simpul dan properti transformasi, Anda dapat melihat pratinjau set data yang diubah dengan memilih tab **Pratinjau data** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Ada biaya yang terkait dengan penggunaan fitur ini, dan penagihan akan dimulai langsung setelah Anda memberikan IAM role.

# Menggunakan DropNullFields untuk menghapus bidang dengan nilai null
<a name="transforms-dropnull-fields"></a>

 Gunakan *DropNullFields*transformasi untuk menghapus bidang dari kumpulan data jika semua nilai di bidang adalah 'null'. Secara default, AWS Glue Studio akan mengenali objek null, tetapi beberapa nilai seperti string kosong, string yang “null”, -1 integer atau placeholder lain seperti nol, tidak secara otomatis dikenali sebagai nol. 

**Untuk menggunakan DropNullFields**

1.  Tambahkan DropNullFields simpul ke diagram pekerjaan. 

1.  Pada tab **properti Node**, pilih nilai tambahan yang mewakili nilai nol. Anda dapat memilih untuk memilih tidak ada atau semua nilai:   
![\[Tangkapan layar menunjukkan tab Transform untuk DropNullFields node.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/DropNullFields-transform-tab.png)
   +  String Kosong (“” atau “) - bidang yang berisi string kosong akan dihapus 
   +  “null string” - bidang yang berisi string dengan kata 'null' akan dihapus 
   +  -1 integer - bidang yang berisi -1 (negatif satu) integer akan dihapus 

1.  Jika diperlukan, Anda juga dapat menentukan nilai null kustom. Ini adalah nilai nol yang mungkin unik untuk kumpulan data Anda. Untuk menambahkan nilai null kustom, pilih **Tambahkan nilai baru**. 

1.  Masukkan nilai null kustom. Misalnya, ini bisa nol, atau nilai apa pun yang digunakan untuk mewakili nol dalam kumpulan data. 

1.  Pilih tipe data di bidang drop-down. Tipe data dapat berupa String atau Integer. 
**catatan**  
 Nilai null kustom dan tipe datanya harus sama persis agar bidang dikenali sebagai nilai nol dan bidang dihapus. Pencocokan sebagian di mana hanya nilai null kustom yang cocok tetapi tipe data tidak tidak akan mengakibatkan bidang dihapus. 

# Menggunakan kueri SQL untuk mengubah data
<a name="transforms-sql"></a>

Anda dapat menggunakan transformasi **SQL** untuk menulis transformasi Anda sendiri dalam bentuk kueri SQL.

Sebuah simpul transformasi SQL dapat memiliki beberapa set data sebagai input, tetapi hanya menghasilkan set data tunggal sebagai output. Ia berisi bidang teks, di mana Anda memasukkan kueri Apache SparkSQL. Anda dapat menetapkan alias untuk setiap set data yang digunakan sebagai masukan, untuk membantu hanya kueri SQL. Untuk informasi lebih lanjut tentang sintaksis SQL, lihat [dokumentasi Spark SQL](https://spark.apache.org/docs/latest/sql-ref.html).

**catatan**  
Jika Anda menggunakan transformasi Spark SQL dengan sumber data yang terletak di VPC, tambahkan VPC endpoint AWS Glue ke VPC yang berisi sumber data. Untuk informasi selengkapnya tentang konfigurasi titik akhir pengembangan, lihat [Menambah Titik Akhir Pengembangan](https://docs.aws.amazon.com/glue/latest/dg/add-dev-endpoint.html), [Menyiapkan Lingkungan Anda untuk Titik Akhir Pengembangan](https://docs.aws.amazon.com/glue/latest/dg/start-development-endpoint.html), dan [Mengakses Titik Akhir Pengembangan Anda](https://docs.aws.amazon.com/glue/latest/dg/dev-endpoint-elastic-ip.html) dalam *Panduan Developer AWS Glue *.

**Untuk menggunakan simpul transformasi SQL ke diagram tugas Anda**

1. (Opsional) Tambahkan simpul transformasi ke diagram tugas, jika diperlukan. Pilih **SQL Query** untuk jenis node.
**catatan**  
 Jika Anda menggunakan sesi pratinjau data dan SQL kustom atau node kode kustom, sesi pratinjau data akan mengeksekusi SQL atau blok kode apa adanya untuk seluruh kumpulan data. 

1. Pada tab **Properti simpul**, masukkan nama untuk simpul dalam diagram tugas. Jika sebuah simpul induk belum dipilih, atau jika Anda ingin beberapa masukan untuk transformasi SQL, pilih sebuah simpul dari **Induk simpul** yang akan digunakan sebagai sumber masukan untuk transformasi. Tambahkan simpul induk tambahan sesuai kebutuhan.

1. Pilih tab **Transformasi** di panel detail simpul. 

1. Set data sumber untuk kueri SQL diidentifikasi berdasarkan nama yang Anda tentukan dalam bidang **Nama** untuk setiap simpul. Jika Anda tidak ingin menggunakan nama-nama ini, atau jika nama-nama tidak cocok untuk kueri SQL, maka Anda dapat mengaitkan nama untuk setiap set data. Konsol tersebut menyediakan alias default, seperti `MyDataSource`.

   Sebagai contoh, jika induk simpul untuk simpul transformasi SQL bernama `Rename Org PK field`, Anda dapat mengaitkan nama `org_table` dengan set data ini. Alias ini kemudian dapat digunakan dalam kueri SQL sebagai ganti nama simpul. 

1. Dalam bidang entri teks pada judul **Blok kode**, tempel atau masukkan kueri SQL. Bidang teks menampilkan penyorotan sintaksis SQL dan saran kata kunci.

1. Dengan simpul transformasi SQL yang sudah dipilih, pilih tab **Skema output**, dan kemudian pilih **Edit**. Berikan kolom dan tipe data yang menggambarkan bidang output kueri SQL.

   Tentukan skema menggunakan tindakan berikut di bagian **Skema output** pada halaman tersebut:
   + Untuk mengubah nama kolom, tempatkan kursor di kotak teks **Kunci** untuk kolom (juga disebut sebagai *bidang* atau *kunci properti*) dan masukkan nama baru.
   + Untuk mengubah tipe data untuk kolom, pilih tipe data baru untuk kolom tersebut dari daftar drop-down.
   + Untuk menambahkan kolom tingkat atas baru pada skema, pilih tombol Overflow (![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/edit-schema-actions-button.png)), dan kemudian pilih **Tambah kunci akar**. Kolom baru ditambahkan di bagian atas skema.
   + Untuk menghapus kolom dari skema, pilih ikon hapus (![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/delete-icon-black.png)) di ujung kanan nama kunci. 

1. Setelah Anda selesai menentukan skema output, pilih **Terapkan** untuk menyimpan perubahan dan keluar dari editor skema. Jika Anda tidak ingin menyimpan perubahan, pilih **Batalkan** untuk mengedit editor skema.

1. (Opsional) Setelah mengkonfigurasi properti simpul dan properti transformasi, Anda dapat melihat pratinjau set data yang diubah dengan memilih tab **Pratinjau data** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Ada biaya yang terkait dengan penggunaan fitur ini, dan penagihan akan dimulai langsung setelah Anda memberikan IAM role.

# Menggunakan Agregat untuk melakukan perhitungan ringkasan pada bidang yang dipilih
<a name="transforms-aggregate-fields"></a>

**Untuk menggunakan transformasi Agregat**

1.  Tambahkan node Agregat ke diagram pekerjaan. 

1.  Pada tab **Properti Node**, pilih bidang untuk dikelompokkan bersama dengan memilih bidang drop-down (opsional). Anda dapat memilih lebih dari satu bidang sekaligus atau mencari nama bidang dengan mengetikkan di bilah pencarian. 

    Ketika bidang dipilih, nama dan tipe data ditampilkan. Untuk menghapus bidang, pilih 'X' di bidang.   
![\[Tangkapan layar menunjukkan tab Transform untuk node Aggregate.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/Aggregate-transform-tab.png)

1.  Pilih **Agregat kolom lain**. Diperlukan untuk memilih setidaknya satu bidang.   
![\[Tangkapan layar menunjukkan bidang saat memilih Agregat kolom lain.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/Aggregate-fieldtoaggregate.png)

1.  Pilih bidang di **bidang untuk agregat** drop-down. 

1.  Pilih fungsi agregasi untuk diterapkan ke bidang yang dipilih: 
   +  rata-rata - menghitung rata-rata 
   +  CountDistinct - menghitung jumlah nilai non-null yang unik 
   +  count - menghitung jumlah nilai non-null 
   +  pertama - mengembalikan nilai pertama yang memenuhi kriteria 'kelompok dengan' 
   +  last - mengembalikan nilai terakhir yang memenuhi kriteria 'grup dengan' 
   +  kurtosis - menghitung ketajaman puncak kurva distribusi frekuensi 
   +  max - mengembalikan nilai tertinggi yang memenuhi kriteria 'kelompok dengan' 
   +  min - mengembalikan nilai terendah yang memenuhi kriteria 'kelompok dengan' 
   +  kemiringan - ukuran asimetri distribusi probabilitas distribusi normal 
   +  stddev\$1pop - menghitung standar deviasi populasi dan mengembalikan akar kuadrat dari varians populasi 
   +  jumlah - jumlah semua nilai dalam kelompok 
   +  SumDistinct - jumlah nilai yang berbeda dalam kelompok 
   +  var\$1samp - varians sampel grup (mengabaikan nol) 
   +  var\$1pop - varians populasi grup (mengabaikan nol) 

# Ratakan struct bersarang
<a name="transforms-flatten"></a>

*Ratakan* bidang struct bersarang dalam data, sehingga menjadi bidang tingkat atas. Bidang baru diberi nama menggunakan nama bidang yang diawali dengan nama bidang struct untuk mencapainya, dipisahkan oleh titik-titik. 

Misalnya, jika data memiliki bidang tipe Struct bernama “phone\$1numbers”, yang di antara bidang lainnya memiliki salah satu tipe “Struct” bernama “home\$1phone” dengan dua bidang: “country\$1code” dan “number”. Setelah diratakan, kedua bidang ini akan menjadi bidang tingkat atas bernama: “phone\$1numbers.home\$1phone.country\$1code” dan “phone\$1numbers.home\$1phone.number” masing-masing.

**Untuk menambahkan node transformasi *Flatten* dalam diagram pekerjaan Anda**

1. Buka panel Resource dan kemudian pilih tab **Transforms**, lalu **Flatten** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Anda juga dapat menggunakan bilah pencarian dengan memasukkan 'Ratakan', lalu mengklik simpul Flatten. Node yang dipilih pada saat menambahkan node akan menjadi induknya.  
![\[Tangkapan layar menunjukkan Panel Sumber Daya dan bilah pencarian yang diisi dengan kata 'Flatten'. Hasil pencarian menunjukkan transformasi Flatten.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transform-flatten.png)

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. (Opsional) Pada tab **Transform**, Anda dapat membatasi level bersarang maksimum untuk meratakan. Misalnya, menyetel nilai itu ke 1 berarti hanya struct tingkat atas yang akan diratakan. Mengatur max ke 2 akan meratakan level atas dan struct langsung di bawahnya.

# Tambahkan kolom UUID
<a name="transforms-uuid"></a>

Saat Anda menambahkan kolom *UUID* (Universally Unique Identified), setiap baris akan diberi string 36 karakter yang unik.

**Untuk menambahkan node transformasi *UUID* dalam diagram pekerjaan Anda**

1. Buka panel Resource dan kemudian pilih **UUID** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. (Opsional) Pada **Transform** tab, Anda dapat menyesuaikan nama kolom baru. Secara default akan diberi nama “uuid”.

# Tambahkan kolom pengenal
<a name="transforms-identifier"></a>

Tetapkan *Identifier* numerik untuk setiap baris dalam kumpulan data.

**Untuk menambahkan node transformasi *Identifier* dalam diagram pekerjaan Anda**

1. Buka panel Resource dan kemudian pilih **Identifier** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. (Opsional) Pada **Transform** tab, Anda dapat menyesuaikan nama kolom baru. Secara default, itu akan diberi nama “id”.

1. (Opsional) Jika pekerjaan memproses dan menyimpan data secara bertahap, Anda ingin menghindari id yang sama untuk digunakan kembali di antara pekerjaan berjalan.

   Pada tab **Transform**, tandai opsi kotak centang **unik**. Ini akan menyertakan stempel waktu pekerjaan di pengenal, membuatnya unik di antara beberapa proses. Untuk memungkinkan angka yang lebih besar, kolom bukan tipe panjang akan menjadi desimal.

# Ubah kolom menjadi tipe stempel waktu
<a name="transforms-to-timestamp"></a>

Anda dapat menggunakan *stempel waktu transformasi Ke* untuk mengubah tipe data kolom numerik atau string menjadi stempel waktu, sehingga dapat disimpan dengan tipe data tersebut atau diterapkan ke transformasi lain yang memerlukan stempel waktu.

**Untuk menambahkan simpul transformasi To *timestamp* di diagram pekerjaan Anda**

1. Buka panel Resource dan kemudian pilih To **timestamp** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, masukkan nama kolom yang akan dikonversi.

1. Pada tab **Transform**, tentukan cara mengurai kolom yang dipilih dengan memilih jenisnya.

   Jika nilainya adalah angka, itu dapat dinyatakan dalam detik (stempel waktu Unix/Python), milidetik atau mikrodetik, pilih opsi yang sesuai.

   Jika nilainya adalah string yang diformat, pilih tipe “iso”, string harus sesuai dengan salah satu varian format ISO, misalnya: “2022-11-02T 14:40:59.915 Z”.

   Jika Anda tidak tahu jenisnya pada saat ini atau baris yang berbeda menggunakan tipe yang berbeda, maka Anda dapat memilih” deteksi otomatis “dan sistem akan membuat tebakan terbaiknya, dengan biaya kinerja yang kecil.

1. (Opsional) Pada tab **Transform**, alih-alih mengonversi kolom yang dipilih, Anda dapat membuat yang baru dan menyimpan yang asli dengan memasukkan nama untuk kolom baru.

# Ubah kolom stempel waktu menjadi string yang diformat
<a name="transforms-format-timestamp"></a>

Format kolom timestamp menjadi string berdasarkan pola. Anda dapat menggunakan *stempel waktu Format* untuk mendapatkan tanggal dan waktu sebagai string dengan format yang diinginkan. Anda dapat menentukan format menggunakan [sintaks tanggal Spark](https://spark.apache.org/docs/latest/sql-ref-datetime-pattern.html) serta sebagian besar kode tanggal [Python](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes).

Misalnya, jika Anda ingin string tanggal Anda diformat seperti “2023-01-01 00:00”, Anda dapat menentukan format tersebut menggunakan sintaks Spark sebagai “HH:mm” atau kode tanggal Python yang setara sebagai “%y-%m-%d %H: %Myyyy-MM-dd ”

**Untuk menambahkan node transformasi *stempel waktu Format* dalam diagram pekerjaan Anda**

1. Buka panel Resource dan kemudian pilih **Format timestamp** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, masukkan nama kolom yang akan dikonversi.

1. Pada tab **Transform**, masukkan pola **format Timestamp** untuk digunakan, dinyatakan menggunakan [sintaks tanggal Spark atau kode tanggal](https://spark.apache.org/docs/latest/sql-ref-datetime-pattern.html) [Python](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes).

1. (Opsional) Pada tab **Transform**, alih-alih mengonversi kolom yang dipilih, Anda dapat membuat yang baru dan menyimpan yang asli dengan memasukkan nama untuk kolom baru.

# Membuat transformasi Router Bersyarat
<a name="transforms-conditional-router"></a>

 Transformasi Router Bersyarat memungkinkan Anda menerapkan beberapa kondisi ke data yang masuk. Setiap baris data yang masuk dievaluasi oleh kondisi filter grup dan diproses menjadi grup yang sesuai. Jika baris memenuhi lebih dari satu kondisi filter grup, transformasi meneruskan baris ke beberapa grup. Jika baris tidak memenuhi kondisi apa pun, itu dapat dijatuhkan atau dirutekan ke grup keluaran default. 

 Transformasi ini mirip dengan transformasi filter, tetapi berguna bagi pengguna yang ingin menguji data input yang sama pada beberapa kondisi. 

**Untuk menambahkan transformasi Router Bersyarat:**

1.  Pilih node tempat Anda akan melakukan transformasi router bersyarat. Ini bisa berupa simpul sumber atau transformasi lain. 

1.  Pilih **Tindakan**, lalu gunakan bilah pencarian untuk menemukan dan memilih 'Conditional Router'. Transformasi **Router Bersyarat** ditambahkan bersama dengan dua node keluaran. Satu node keluaran, 'Grup default', berisi catatan yang tidak memenuhi salah satu kondisi yang ditentukan dalam node keluaran lainnya. Grup default tidak dapat diedit.   
![\[Tangkapan layar menunjukkan node transformasi router bersyarat yang terhubung ke node sumber. Node keluaran ditampilkan bercabang dari node router bersyarat.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transform-conditional-router-node.png)

    Anda dapat menambahkan grup keluaran tambahan dengan memilih **Tambah grup**. Untuk setiap grup keluaran, Anda dapat memberi nama grup dan menambahkan kondisi filter dan operator logis.   
![\[Tangkapan layar menunjukkan tab transformasi router bersyarat dengan opsi untuk memberi nama grup keluaran, operator logis, dan filter bersyarat.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transform-conditional-router-tab.png)

1.  Ganti nama nama grup keluaran dengan memasukkan nama baru untuk grup. AWS Glue Studioakan secara otomatis memberi nama grup Anda untuk Anda (misalnya, 'output\$1group\$11'). 

1.  Pilih operator logis (**AND**, **OR**) dan tambahkan **kondisi Filter** dengan menentukan **Kunci**, **Operasi**, dan **Nilai**. Operator logis memungkinkan Anda untuk menerapkan lebih dari satu kondisi filter dan melakukan operator logis pada setiap kondisi filter yang Anda tentukan. 

    Saat menentukan kunci, Anda dapat memilih dari kunci yang tersedia dalam skema Anda. Anda kemudian dapat memilih operasi yang tersedia tergantung pada jenis kunci yang Anda pilih. Misalnya, jika tipe kuncinya adalah 'string', maka operasi yang tersedia untuk dipilih adalah 'cocok'.   
![\[Tangkapan layar menunjukkan tab transformasi router bersyarat dengan bidang kondisi filter untuk kunci, operasi, dan nilai.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transform-conditional-router-filter-condition.png)

1.  Masukkan nilai di bidang **Nilai**. Untuk menambahkan kondisi filter tambahan, pilih **Tambahkan kondisi**. Untuk menghapus kondisi filter, pilih ikon tempat sampah. 

# Menggunakan transformasi Kolom Concatenate untuk menambahkan kolom
<a name="transforms-concatenate-columns"></a>

 Transformasi Concatenate memungkinkan Anda membangun kolom string baru menggunakan nilai kolom lain dengan spacer opsional. Misalnya, jika kita mendefinisikan kolom gabungan “tanggal” sebagai rangkaian “tahun”, “bulan” dan “hari” (dalam urutan itu) dengan “-” sebagai spacer, kita akan mendapatkan: 


| hari | bulan | tahun | date | 
| --- | --- | --- | --- | 
| 01 | 01 | 2020 | 2020-01-01 | 
| 02 | 01 | 2020 | 2020-01-02 | 
| 03 | 01 | 2020 | 2020-01-03 | 
| 04 | 01 | 2020 | 2020-01-04 | 

**Untuk menambahkan transformasi Concatenate:**

1. Buka panel Sumber Daya. Kemudian pilih **Concatenate Columns** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar Induk simpul untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, masukkan nama kolom yang akan menahan string gabungan serta kolom untuk digabungkan. Urutan di mana Anda memeriksa kolom di dropdown akan menjadi urutan yang digunakan.  
![\[Tangkapan layar menunjukkan tab Transform untuk transformasi Concatenate.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transforms-concatenate-transform-tab.png)

1. **Spacer - opsional** - Masukkan string untuk ditempatkan di antara bidang gabungan. Secara default, tidak ada spacer.

1. **Nilai nol - opsional** - Masukkan string untuk digunakan ketika nilai kolom adalah nol. Secara default, dalam kasus di mana kolom memiliki nilai 'NULL' atau 'NA', string kosong digunakan.

# Menggunakan transformasi Split String untuk memecah kolom string
<a name="transforms-split-string"></a>

 Transformasi Split String memungkinkan Anda memecah string menjadi array token menggunakan ekspresi reguler untuk menentukan bagaimana pemisahan dilakukan. Anda kemudian dapat menyimpan kolom sebagai tipe array atau menerapkan transformasi **Array To Columns** setelah yang ini, untuk mengekstrak nilai array ke bidang tingkat atas, dengan asumsi bahwa setiap token memiliki makna yang kita ketahui sebelumnya. Juga, jika urutan token tidak relevan (misalnya, satu set kategori), Anda dapat menggunakan transformasi **Explode** untuk menghasilkan baris terpisah untuk setiap nilai. 

 Misalnya, Anda dapat membagi kolom “kategori” menggunakan koma sebagai pola untuk menambahkan kolom “categories\$1arr”. 


| product\$1id | kategori | kategori\$1arr | 
| --- | --- | --- | 
| 1 | olahraga, musim dingin | [olahraga, musim dingin] | 
| 2 | kebun, alat-alat | [kebun, alat] | 
| 3 | videogame | [videogame] | 
| 4 | permainan, boardgame, sosial | [permainan, boardgame, sosial] | 

**Untuk menambahkan transformasi Split String:**

1. Buka panel Resource dan kemudian pilih Split String untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. (Opsional) Pada tab properti Node, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar Induk simpul untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, pilih kolom untuk dibagi dan masukkan pola yang akan digunakan untuk membagi string. Dalam kebanyakan kasus, Anda hanya dapat memasukkan karakter kecuali jika memiliki arti khusus sebagai ekspresi reguler dan perlu diloloskan. Karakter yang perlu melarikan diri adalah: `\.[]{}()<>*+-=!?^$|` dengan menambahkan garis miring terbalik di depan karakter. Misalnya jika Anda ingin memisahkan dengan titik ('.') Anda harus memasukkan`\.`. Namun, koma tidak memiliki arti khusus dan hanya dapat ditentukan apa adanya:`,`.  
![\[Tangkapan layar menunjukkan tab Transform untuk transformasi Split String.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transforms-split-string-transform-tab.png)

1. (Opsional) Jika Anda ingin menyimpan kolom string asli, maka Anda dapat memasukkan nama untuk kolom array baru, dengan cara ini menjaga kolom string asli dan kolom array tokenized baru.

# Menggunakan transformasi Array To Columns untuk mengekstrak elemen array ke kolom tingkat atas
<a name="transforms-array-to-columns"></a>

 Transformasi Array To Columns memungkinkan Anda mengekstrak beberapa atau semua elemen kolom tipe array ke kolom baru. Transformasi akan mengisi kolom baru sebanyak mungkin jika array memiliki nilai yang cukup untuk diekstrak, secara opsional mengambil elemen dalam posisi yang ditentukan. 

 Misalnya, jika Anda memiliki kolom array “subnet”, yang merupakan hasil dari penerapan transformasi “Split String” pada subnet ip v4, Anda dapat mengekstrak posisi pertama dan seterusnya ke kolom baru “first\$1octect” dan “forth\$1octect”. Output dari transformasi dalam contoh ini adalah (perhatikan dua baris terakhir memiliki array yang lebih pendek dari yang diharapkan): 


| subnet | first\$1octect | keempat\$1oktek | 
| --- | --- | --- | 
| [54, 240, 197, 238] | 54 | 238 | 
| [192, 168, 0, 1] | 192 | 1 | 
| [192, 168] | 192 |  | 
| [] |  |  | 

**Untuk menambahkan transformasi Array Ke Kolom:**

1. Buka panel Resource dan kemudian pilih **Array To Columns untuk** menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar Induk simpul untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, pilih kolom array untuk mengekstrak dan masukkan daftar kolom baru untuk token yang diekstrak.  
![\[Tangkapan layar menunjukkan tab Transform untuk transformasi Array To Columns.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transforms-array-to-columns-transform-tab.png)

1. (Opsional) Jika Anda tidak ingin mengambil token array untuk menetapkan ke kolom, Anda dapat menentukan indeks yang akan diambil yang akan ditetapkan ke daftar kolom dalam urutan yang sama ditentukan. Misalnya jika kolom output adalah “column1, column2, column3" dan indeks “4, 1, 3", elemen keempat dari array akan pergi ke column1, yang pertama ke column2 dan yang ketiga ke column3 (jika array lebih pendek dari nomor indeks, nilai NULL akan ditetapkan).

# Menggunakan transformasi Add Current Timestamp
<a name="transforms-add-current-timestamp"></a>

 Transformasi **Add Current Timestamp** memungkinkan Anda menandai baris dengan waktu pemrosesan data. Ini berguna untuk tujuan audit atau untuk melacak latensi dalam pipa data. Anda dapat menambahkan kolom baru ini sebagai tipe data stempel waktu atau string yang diformat. 

**Untuk menambahkan transformasi Add Current Timestamp:**

1. Buka panel Resource dan kemudian pilih **Add Current Timestamp** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya. 

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar Induk simpul untuk digunakan sebagai sumber masukan untuk transformasi tersebut.  
![\[Tangkapan layar menunjukkan tab Transform untuk transformasi Add Current Timestamp.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transforms-add-current-timestamp-transform-tab.png)

1. (Opsional) Pada **Transform** tab, masukkan nama khusus untuk kolom baru dan format jika Anda lebih suka kolom menjadi string tanggal yang diformat.

# Menggunakan Pivot Rows to Columns transform
<a name="transforms-pivot-rows-to-columns"></a>

 Transformasi **Pivot Rows to Columns** memungkinkan Anda untuk menggabungkan kolom numerik dengan memutar nilai unik pada kolom terpilih yang menjadi kolom baru (jika beberapa kolom dipilih, nilainya digabungkan untuk memberi nama kolom baru). Dengan begitu baris dikonsolidasikan sementara memiliki lebih banyak kolom dengan agregasi parsi untuk setiap nilai unik. Misalnya, jika Anda memiliki kumpulan data penjualan ini berdasarkan bulan dan negara (diurutkan agar lebih mudah diilustrasikan): 


| tahun | bulan | negeri | jumlah | 
| --- | --- | --- | --- | 
| 2020 | Jan | inggris | 32 | 
| 2020 | Jan | de | 42 | 
| 2020 | Jan | µs | 64 | 
| 2020 | Februari | inggris | 67 | 
| 2020 | Februari | de | 4 | 
| 2020 | Februari | de | 7 | 
| 2020 | Februari | µs | 6 | 
| 2020 | Februari | µs | 12 | 
| 2020 | Jan | µs | 90 | 

 **Jika **jumlah** pivot dan **negara** sebagai kolom agregasi, kolom baru akan dibuat dari kolom negara asli.** Pada tabel di bawah ini, Anda memiliki kolom baru untuk **de**, **uk**, dan **kami**, bukan kolom **negara**. 


| tahun | bulan | de | inggris | µs | 
| --- | --- | --- | --- | --- | 
| 2020 | Jan | 42 | 32 | 64 | 
| 2020 | Jan | 11 | 67 | 18 | 
| 2021 | Jan |  |  | 90 | 

 Jika sebaliknya Anda ingin memutar bulan dan kabupaten, Anda mendapatkan kolom untuk setiap kombinasi nilai kolom tersebut: 


| tahun | Jan\$1de | Jan\$1UK | Jan\$1us | Feb\$1de | Feb\$1Inggris | Feb\$1US | 
| --- | --- | --- | --- | --- | --- | --- | 
| 2020 | 42 | 32 | 64 | 11 | 67 | 18 | 
| 2021 |  |  | 90 |  |  |  | 

**Untuk menambahkan transformasi Pivot Rows To Columns:**

1. Buka panel Resource dan kemudian pilih **Pivot Rows To Columns untuk** menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar Induk simpul untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, pilih kolom numerik yang akan digabungkan untuk menghasilkan nilai untuk kolom baru, fungsi agregasi untuk diterapkan dan kolom untuk mengubah nilai uniknya menjadi kolom baru.  
![\[Tangkapan layar menunjukkan tab Transform untuk transformasi Pivot Rows To Columns.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transforms-pivot-rows-to-columns-transform-tab.png)

# Menggunakan transformasi Kolom Unpivot Ke Baris
<a name="transforms-unpivot-columns-to-rows"></a>

 Transformasi **Unpivot** memungkinkan Anda mengonversi kolom menjadi nilai kolom baru yang menghasilkan baris untuk setiap nilai unik. Ini kebalikan dari pivot tetapi perhatikan bahwa itu tidak setara karena tidak dapat memisahkan baris dengan nilai identik yang digabungkan atau membagi kombinasi ke dalam kolom asli (Anda dapat melakukannya nanti menggunakan transformasi Split). Misalnya, jika Anda memiliki tabel berikut: 


| tahun | bulan | de | inggris | µs | 
| --- | --- | --- | --- | --- | 
| 2020 | Jan | 42 | 32 | 64 | 
| 2020 | Februari | 11 | 67 | 18 | 
| 2021 | Jan |  |  | 90 | 

 Anda dapat membuka pivot kolom: “de”, “uk” dan “us” ke dalam kolom “negara” dengan nilai “jumlah”, dan dapatkan yang berikut (diurutkan di sini untuk tujuan ilustrasi): 


| tahun | bulan | negeri | jumlah | 
| --- | --- | --- | --- | 
| 2020 | Jan | inggris | 32 | 
| 2020 | Jan | de | 42 | 
| 2020 | Jan | µs | 64 | 
| 2020 | Februari | inggris | 67 | 
| 2020 | Februari | de | 11 | 
| 2020 | Februari | µs | 18 | 
| 2021 | Jan | µs | 90 | 

 Perhatikan kolom yang memiliki nilai NULL (“de” dan “uk of Jan 2021) tidak dihasilkan secara default. Anda dapat mengaktifkan opsi itu untuk mendapatkan: 


| tahun | bulan | negeri | jumlah | 
| --- | --- | --- | --- | 
| 2020 | Jan | inggris | 32 | 
| 2020 | Jan | de | 42 | 
| 2020 | Jan | µs | 64 | 
| 2020 | Februari | inggris | 67 | 
| 2020 | Februari | de | 11 | 
| 2020 | Februari | µs | 18 | 
| 2021 | Jan | µs | 90 | 
| 2021 | Jan | de |  | 
| 2021 | Jan | inggris |  | 

**Untuk menambahkan Kolom Unpivot ke Rows transform:**

1. Buka panel Resource dan kemudian pilih **Unpivot Columns to Rows** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar Induk simpul untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, masukkan kolom baru yang akan dibuat untuk menyimpan nama dan nilai kolom yang dipilih untuk di-unpivot.  
![\[Tangkapan layar menunjukkan tab Transform untuk transformasi Unpivot Columns To Rows.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transforms-unpivot-columns-to-rows-transform-tab.png)

# Menggunakan transformasi Autobalance Processing untuk mengoptimalkan runtime Anda
<a name="transforms-autobalance-processing"></a>

 Transformasi **Autobalance Processing** mendistribusikan kembali data di antara para pekerja untuk kinerja yang lebih baik. Ini membantu dalam kasus di mana data tidak seimbang atau karena berasal dari sumber tidak memungkinkan pemrosesan paralel yang cukup di atasnya. Ini umum terjadi di mana sumbernya di-gzip atau JDBC. Redistribusi data memiliki biaya kinerja yang sederhana, sehingga optimasi mungkin tidak selalu mengkompensasi upaya itu jika data sudah seimbang. Di bawahnya, transformasi menggunakan repartisi Apache Spark untuk menetapkan kembali data secara acak di antara sejumlah partisi yang optimal untuk kapasitas cluster. Untuk pengguna tingkat lanjut, dimungkinkan untuk memasukkan sejumlah partisi secara manual. Selain itu, dapat digunakan untuk mengoptimalkan penulisan tabel yang dipartisi dengan mengatur ulang data berdasarkan kolom yang ditentukan. Ini menghasilkan file output yang lebih terkonsolidasi. 

****

1. Buka panel Resource dan kemudian pilih **Autobalance Processing** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar Induk simpul untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. (Opsional) Pada tab **Transform**, Anda dapat memasukkan sejumlah partisi. Secara umum, disarankan agar Anda membiarkan sistem memutuskan nilai ini, namun Anda dapat menyetel pengganda atau memasukkan nilai tertentu jika Anda perlu mengontrolnya. Jika Anda akan menyimpan data yang dipartisi oleh kolom, Anda dapat memilih kolom yang sama dengan kolom partisi ulang. Dengan cara ini akan meminimalkan jumlah file pada setiap partisi dan menghindari memiliki banyak file per partisi, yang akan menghambat kinerja alat yang menanyakan data tersebut.  
![\[Tangkapan layar menunjukkan tab Transform untuk transformasi Autobalance Processing.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transforms-autobalance-processing-transform-tab.png)

# Menggunakan transformasi Kolom Derived untuk menggabungkan kolom lain
<a name="transforms-derived-column"></a>

 Transformasi **Kolom Derived** memungkinkan Anda untuk menentukan kolom baru berdasarkan rumus matematika atau ekspresi SQL di mana Anda dapat menggunakan kolom lain dalam data, serta konstanta dan literal. Misalnya, untuk mendapatkan kolom “persentase” dari kolom “sukses” dan “hitung”, Anda dapat memasukkan ekspresi SQL: “sukses \$1 100/count \$1\$1 '%'”. 

 Contoh hasil: 


| keberhasilan | count | persentase | 
| --- | --- | --- | 
| 14 | 100 | 14% | 
| 6 | 20 | 3% | 
| 3 | 40 | 7,5% | 

**Untuk menambahkan transformasi Kolom Derived:**

1. Buka panel Resource dan kemudian pilih **Derived Column** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar Induk simpul untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, masukkan nama kolom dan ekspresi untuk kontennya.  
![\[Tangkapan layar menunjukkan tab Transform untuk transformasi Kolom Derived.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transforms-dervied-column-transform-tab.png)

# Menggunakan transformasi Lookup untuk menambahkan data yang cocok dari tabel katalog
<a name="transforms-lookup"></a>

 Transformasi **Pencarian** memungkinkan Anda menambahkan kolom dari tabel katalog yang ditentukan saat kunci cocok dengan kolom pencarian yang ditentukan dalam data. Ini setara dengan melakukan gabungan luar kiri antara data dan tabel pencarian menggunakan kolom pencocokan kondisi. 

**Untuk menambahkan transformasi Pencarian:**

1. Buka panel Resource dan kemudian pilih **Lookup** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar Induk simpul untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, masukkan nama tabel katalog yang memenuhi syarat untuk digunakan untuk melakukan pencarian. Misalnya, jika database Anda adalah “mydb” dan tabel Anda “mytable” kemudian masukkan “mydb.mytable”. Kemudian masukkan kriteria untuk menemukan kecocokan di tabel pencarian, jika kunci pencarian disusun. Masukkan daftar kolom kunci yang dipisahkan dengan koma. Jika satu atau beberapa kolom kunci tidak memiliki nama yang sama maka Anda perlu menentukan pemetaan kecocokan. 

   Misalnya, jika kolom data adalah “user\$1id” dan “region” dan di tabel pengguna kolom yang sesuai diberi nama “id” dan “region “, lalu di **kolom Kolom yang cocok**, masukkan:” user\$1id = id, region”. Anda dapat melakukan region=region tetapi tidak diperlukan karena mereka sama.

1. Terakhir, masukkan kolom untuk dibawa dari baris yang cocok di tabel pencarian untuk memasukkannya ke dalam data. Jika tidak ada kecocokan yang ditemukan, kolom tersebut akan disetel ke NULL.
**catatan**  
Di bawah transformasi **Pencarian**, ia menggunakan gabungan kiri agar efisien. Jika tabel pencarian memiliki kunci komposit, pastikan kolom yang cocok diatur agar sesuai dengan semua kolom kunci sehingga hanya satu kecocokan yang dapat terjadi. Jika tidak, beberapa baris pencarian akan cocok dan ini akan menghasilkan baris tambahan yang ditambahkan untuk masing-masing kecocokan tersebut.  
![\[Tangkapan layar menunjukkan tab Transform untuk transformasi Pencarian.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transforms-lookup-transform-tab.png)

# Menggunakan transformasi Explode Array atau Map Into Rows
<a name="transforms-explode-array"></a>

 Transformasi **Explode** memungkinkan Anda mengekstrak nilai dari struktur bersarang menjadi baris individual yang lebih mudah dimanipulasi. Dalam kasus array, transformasi akan menghasilkan baris untuk setiap nilai array, mereplikasi nilai untuk kolom lain di baris. Dalam kasus peta, transformasi akan menghasilkan baris untuk setiap entri dengan kunci dan nilai sebagai kolom ditambah kolom lain di baris. 

 Misalnya, jika kita memiliki kumpulan data ini yang memiliki kolom array “kategori” dengan beberapa nilai. 


| product\$1id | kategori | 
| --- | --- | 
| 1 | [olahraga, musim dingin] | 
| 2 | [kebun, alat] | 
| 3 | [videogame] | 
| 4 | [permainan, boardgame, sosial] | 
| 5 | [] | 

 Jika Anda meledakkan kolom 'kategori' ke dalam kolom dengan nama yang sama, Anda akan mengganti kolom tersebut. Anda dapat memilih yang ingin Anda NULLs sertakan untuk mendapatkan yang berikut (dipesan untuk tujuan ilustrasi): 


| product\$1id | kategori | 
| --- | --- | 
| 1 | olahraga | 
| 1 | musim dingin | 
| 2 | taman | 
| 2 | alat | 
| 3 | videogame | 
| 4 | gim | 
| 4 | permainan papan | 
| 4 | sosial | 
| 5 |  | 

**Untuk menambahkan transformasi Explode Array Atau Map Into Rows:**

1. Buka panel Resource dan kemudian pilih **Explode Array Or Map Into Rows** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. (Opsional) Pada tab **properti Node**, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar Induk simpul untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, pilih kolom yang akan meledak (harus berupa array atau tipe peta). Kemudian masukkan nama untuk kolom untuk item array atau nama kolom untuk kunci dan nilai jika Anda meledakkan peta.

1. (Opsional) Pada **Transform** tab, secara default jika kolom yang akan meledak adalah NULL atau memiliki struktur kosong, itu akan dihilangkan pada kumpulan data yang meledak. Jika Anda ingin menyimpan baris (dengan kolom baru sebagai NULL) maka centang “Sertakan NULLs”.  
![\[Tangkapan layar menunjukkan tab Transform untuk transformasi Explode Array atau Map Into Rows.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/transforms-explode-array-transform-tab.png)

# Menggunakan transformasi Record Matching untuk menjalankan transformasi klasifikasi data yang ada
<a name="transforms-record-matching"></a>

Transformasi ini memanggil transformasi klasifikasi data pembelajaran mesin Record Matching yang ada.

Transformasi mengevaluasi data saat ini terhadap model terlatih berdasarkan label. Kolom “match\$1id” ditambahkan untuk menetapkan setiap baris ke sekelompok item yang dianggap setara berdasarkan pelatihan algoritma. Untuk informasi lebih lanjut, lihat [Rekam pencocokan dengan Lake Formation FindMatches](https://docs.aws.amazon.com/glue/latest/dg/machine-learning.html).

**catatan**  
Versi yang AWS Glue digunakan oleh pekerjaan visual harus cocok dengan versi yang AWS Glue digunakan untuk membuat transformasi Record Matching.

![\[Tangkapan layar menunjukkan pratinjau data untuk transformasi.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/recording-matching-transform-1.png)


**Untuk menambahkan node transformasi Record Matching ke diagram pekerjaan Anda**

1. Buka panel Resource, lalu pilih **Record Matching** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. Di panel properti node, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, masukkan ID yang diambil dari halaman **Transformasi pembelajaran mesin**:  
![\[Tangkapan layar menunjukkan ID dari halaman Transformasi pembelajaran mesin.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/recording-matching-transform-2.png)

1. (Opsional) Pada **Transform** tab, Anda dapat mencentang opsi untuk menambahkan skor kepercayaan. Dengan biaya komputasi ekstra, model akan memperkirakan skor kepercayaan untuk setiap pertandingan sebagai kolom tambahan.

# Menghapus baris nol
<a name="transforms-remove-null-rows"></a>

Transformasi ini menghapus dari baris dataset yang memiliki semua kolom sebagai null. Selain itu, Anda dapat memperluas kriteria ini untuk menyertakan bidang kosong, sehingga dapat menjaga baris di mana setidaknya satu kolom tidak kosong.

**Untuk menambahkan Remove Null Rows, ubah node ke diagram pekerjaan Anda**

1. Buka panel Resource, lalu pilih **Remove Null Rows** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. Di panel properti node, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. (Opsional) Pada tab **Transform**, centang opsi **Extended** jika Anda ingin meminta baris tidak hanya untuk tidak menjadi nol tetapi juga tidak kosong, dengan cara ini string kosong, array atau peta akan dianggap nol untuk tujuan transformasi ini.

# Mengurai kolom string yang berisi data JSON
<a name="transforms-parse-json-column"></a>

Transformasi ini mengurai kolom string yang berisi data JSON dan mengubahnya menjadi struct atau kolom array, tergantung apakah JSON adalah objek atau array, masing-masing. Secara opsional Anda dapat menyimpan kolom yang diurai dan asli.

Skema JSON dapat disediakan atau disimpulkan (dalam kasus objek JSON), dengan pengambilan sampel opsional.

**Untuk menambahkan node transformasi Kolom JSON Parse ke diagram pekerjaan Anda**

1. Buka panel Resource, lalu pilih **Parse JSON Column** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. Di panel properti node, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, pilih kolom yang berisi string JSON.

1. <STRING>(Opsional) Pada tab **Transform**, masukkan skema yang diikuti data JSON menggunakan sintaks SQL, misalnya: “field1 STRING, field2 INT” dalam kasus objek atau “ARRAY” dalam kasus array.

   Jika kasus array skema diperlukan tetapi dalam kasus objek, jika skema tidak ditentukan itu akan disimpulkan menggunakan data. Untuk mengurangi dampak menyimpulkan skema (terutama pada kumpulan data besar), Anda dapat menghindari membaca seluruh data dua kali dengan memasukkan **Rasio sampel yang akan digunakan untuk** menyimpulkan skema. Jika nilainya lebih rendah dari 1, rasio sampel acak yang sesuai digunakan untuk menyimpulkan skema. Jika data dapat diandalkan dan objek konsisten di antara baris, Anda dapat menggunakan rasio kecil seperti 0,1 untuk meningkatkan kinerja.

1. (Opsional) Pada **Transform** tab, Anda dapat memasukkan nama kolom baru jika Anda ingin menyimpan kolom string asli dan kolom yang diuraikan.

# Mengekstrak jalur JSON
<a name="transforms-extract-json-path"></a>

Transformasi ini mengekstrak kolom baru dari kolom string JSON. Transformasi ini berguna ketika Anda hanya membutuhkan beberapa elemen data dan tidak ingin mengimpor seluruh konten JSON ke dalam skema tabel.

**Untuk menambahkan node transformasi Extract JSON Path ke diagram pekerjaan Anda**

1. Buka panel Resource, lalu pilih **Extract JSON Path** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. Di panel properti node, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, pilih kolom yang berisi string JSON. Masukkan salah satu ekspresi jalur JSON yang dipisahkan dengan koma, masing-masing merujuk cara mengekstrak nilai dari array atau objek JSON. Misalnya, jika kolom JSON berisi objek dengan properti “prop\$11" dan “prop2" Anda dapat mengekstrak keduanya dengan menentukan nama mereka “prop\$11, prop\$12".

   Jika bidang JSON memiliki karakter khusus, misalnya untuk mengekstrak properti dari JSON ini `{"a. a": 1}` Anda dapat menggunakan jalur. `$['a. a']` Pengecualian adalah koma karena dicadangkan untuk jalur terpisah. Kemudian masukkan nama kolom yang sesuai untuk setiap jalur, dipisahkan dengan koma.

1. (Opsional) Pada **Transform** tab, Anda dapat memeriksa untuk menjatuhkan kolom JSON setelah diekstraksi, ini masuk akal ketika Anda tidak memerlukan sisa data JSON setelah Anda mengekstrak bagian yang Anda butuhkan.

# Mengekstrak fragmen string menggunakan ekspresi reguler
<a name="transforms-regex-extractor"></a>

Transformasi ini mengekstrak fragmen string menggunakan ekspresi reguler dan membuat kolom baru darinya, atau beberapa kolom jika menggunakan grup regex.

**Untuk menambahkan node transformasi Regex Extractor ke diagram pekerjaan Anda**

1. Buka panel Resource, lalu pilih **Regex Extractor** untuk menambahkan transformasi baru ke diagram pekerjaan Anda. Node yang dipilih pada saat menambahkan node akan menjadi induknya.

1. Di panel properti node, Anda dapat memasukkan nama untuk node dalam diagram pekerjaan. Jika sebuah induk simpul belum dipilih, maka pilihlah sebuah simpul dari daftar **Induk simpul** untuk digunakan sebagai sumber masukan untuk transformasi tersebut.

1. Pada tab **Transform**, masukkan ekspresi reguler dan kolom yang perlu diterapkan. Kemudian masukkan nama kolom baru untuk menyimpan string yang cocok. Kolom baru akan menjadi null hanya jika kolom sumber adalah null, jika regex tidak cocok kolom akan kosong.

   Jika regex menggunakan grup, ada nama kolom yang sesuai dipisahkan dengan koma tetapi Anda dapat melewati grup dengan membiarkan nama kolom kosong.

   Misalnya, jika Anda memiliki kolom “purchase\$1date” dengan string menggunakan format tanggal ISO panjang dan pendek, maka Anda ingin mengekstrak tahun, bulan, hari dan jam, bila tersedia. Perhatikan grup jam adalah opsional, jika tidak di baris yang tidak tersedia, semua grup yang diekstraksi akan menjadi string kosong (karena regex tidak cocok). Dalam hal ini, kami tidak ingin grup membuat waktu opsional tetapi yang dalam, jadi kami membiarkan nama kosong dan tidak diekstraksi (grup itu akan menyertakan karakter T).  
![\[Tangkapan layar menunjukkan konfigurasi ekspresi reguler untuk ekstraktor Regex.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/regex-extractor-1.png)

   Menghasilkan pratinjau data:  
![\[Tangkapan layar menunjukkan konfigurasi pratinjau data untuk ekstraktor Regex.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/regex-extractor-2.png)

# Membuat sebuah transformasi kustom
<a name="transforms-custom"></a>

Jika Anda perlu melakukan transformasi yang lebih rumit pada data Anda, atau ingin menambahkan kunci properti data ke set data, maka Anda dapat menambahkan transformasi **Kode kustom** ke diagram tugas Anda. Simpul kode kustom memungkinkan Anda untuk memasukkan sebuah skrip yang melakukan transformasi. 

Saat menggunakan kode kustom, Anda harus menggunakan editor skema untuk menunjukkan perubahan yang dibuat pada output melalui kode kustom tersebut. Saat mengedit skema, Anda dapat melakukan tindakan-tindakan berikut:
+ Menambah atau menghapus kunci properti data
+ Mengubah jenis data kunci properti data
+ Mengubah nama kunci properti data
+ Melakukan restrukturisasi kunci properti yang di-nest

Anda harus menggunakan *SelectFromCollection*transformasi untuk memilih satu `DynamicFrame` dari hasil node transformasi Kustom Anda sebelum Anda dapat mengirim output ke lokasi target. 

Gunakan tugas berikut untuk menambahkan simpul transformasi kustom ke diagram tugas Anda.

## Menambahkan simpul transformasi kode kustom ke diagram tugas
<a name="transforms-custom-addnode"></a>

**Untuk menambahkan simpul transformasi kustom ke diagram tugas Anda**

1. (Opsional) Buka panel Resource dan kemudian pilih **Custom transform** untuk menambahkan transformasi kustom ke diagram pekerjaan Anda. 

1. Pada tab **Properti simpul**, masukkan nama untuk simpul dalam diagram tugas. Jika sebuah simpul induk belum dipilih, atau jika Anda ingin beberapa masukan untuk transformasi kustom, kemudian pilih sebuah simpul dari **Induk simpul** yang akan digunakan sebagai sumber masukan untuk transformasi.

## Memasukkan kode untuk simpul transformasi kustom
<a name="transforms-custom-addcode"></a>

Anda dapat mengetik atau menyalin kode ke dalam bidang input. Tugas menggunakan kode ini untuk melakukan transformasi data. Anda dapat memberikan potongan kode baik Python atau Scala. Kode harus mengambil satu atau beberapa `DynamicFrames` sebagai masukan dan mengembalikan sebuah koleksi `DynamicFrames`. 

**Untuk memasukkan skrip untuk simpul transformasi kustom**

1. Dengan simpul transformasi kustom yang sudah dipilih dalam diagram tugas, pilih tab **Transformasi**. 

1. Dalam bidang entri teks pada judul **Blok kode**, tempel atau masukkan kode untuk transformasi. Kode yang Anda gunakan harus sesuai dengan bahasa yang ditentukan untuk tugas di tab **Detail tugas**.

   Saat mengacu pada node input dalam kode Anda, AWS Glue Studio beri nama yang `DynamicFrames` dikembalikan oleh node diagram pekerjaan secara berurutan berdasarkan urutan pembuatan. Gunakan salah satu metode penamaan berikut dalam kode Anda:
   + Pembuatan kode klasik — Gunakan nama fungsional untuk merujuk ke node dalam diagram pekerjaan Anda.
     + Simpul sumber data :`DataSource0`, `DataSource1`, `DataSource2`, dan seterusnya.
     + Simpul transformasi: `Transform0`, `Transform1`, `Transform2`, dan seterusnya.
   + Pembuatan kode baru - Gunakan nama yang ditentukan pada tab **properti Node** dari sebuah node, ditambahkan dengan '`_node1`', '`_node2`', dan seterusnya. Misalnya,`S3bucket_node1`, `ApplyMapping_node2``S3bucket_node2`,`MyCustomNodeName_node1`.

   Untuk informasi selengkapnya tentang pembuat kode baru, lihat[Pembuatan kode skrip](job-editor-features.md#code-gen).

Contoh berikut menunjukkan format kode yang akan dimasukkan dalam kotak kode:

------
#### [ Python ]

Contoh berikut mengambil `DynamicFrame` yang pertama diterima, mengonversinya menjadi `DataFrame` untuk menerapkan metode filter asli (hanya menyimpan catatan yang memiliki lebih dari 1000 suara), kemudian mengubahnya kembali menjadi `DynamicFrame` sebelum mengembalikannya.

```
def FilterHighVoteCounts (glueContext, dfc) -> DynamicFrameCollection:
    df = dfc.select(list(dfc.keys())[0]).toDF()
    df_filtered = df.filter(df["vote_count"] > 1000)
    dyf_filtered = DynamicFrame.fromDF(df_filtered, glueContext, "filter_votes")
    return(DynamicFrameCollection({"CustomTransform0": dyf_filtered}, glueContext))
```

------
#### [ Scala ]

Contoh berikut mengambil `DynamicFrame` yang pertama diterima, mengonversinya menjadi `DataFrame` untuk menerapkan metode filter asli (hanya menyimpan catatan yang memiliki lebih dari 1000 suara), kemudian mengubahnya kembali menjadi `DynamicFrame` sebelum mengembalikannya.

```
object FilterHighVoteCounts {
  def execute(glueContext : GlueContext, input : Seq[DynamicFrame]) : Seq[DynamicFrame] = {
    val frame = input(0).toDF()
    val filtered = DynamicFrame(frame.filter(frame("vote_count") > 1000), glueContext)
    Seq(filtered)
  }
}
```

------

## Mengedit skema di simpul transformasi kustom
<a name="transforms-custom-editschema"></a>

Saat Anda menggunakan simpul transformasi khusus, AWS Glue Studio tidak dapat secara otomatis menyimpulkan skema keluaran yang dibuat oleh transformasi. Anda menggunakan editor skema untuk menggambarkan perubahan skema yang diimplementasikan oleh kode transformasi kustom.

Sebuah simpul kode kustom dapat memiliki sejumlah simpul induk, masing-masing menyediakan `DynamicFrame` sebagai masukan untuk kode kustom Anda. Sebuah simpul kode kustom mengembalikan sebuah koleksi `DynamicFrames`. Setiap `DynamicFrame` yang digunakan sebagai masukan memiliki skema terkait. Anda harus menambahkan skema yang menggambarkan setiap `DynamicFrame` yang dikembalikan oleh simpul kode kustom. 

**catatan**  
 Saat Anda mengatur skema Anda sendiri pada transformasi khusus, AWS Glue Studio tidak mewarisi skema dari node sebelumnya. Untuk memperbarui skema, pilih simpul transformasi kustom, lalu pilih tab Pratinjau data. Setelah pratinjau dibuat, pilih 'Use Preview Schema'. Skema kemudian akan digantikan oleh skema menggunakan data pratinjau. 

**Untuk mengedit skema output untuk simpul transformasi kustom**

1. Dengan simpul transformasi kustom yang sudah dipilih dalam diagram tugas, di panel detail simpul, pilih tab **Skema output**. 

1. Pilih **Edit** untuk membuat perubahan pada skema. 

   Jika Anda memiliki kunci properti data yang di-nest, seperti array atau objek, Anda dapat memilih iko **Expand-Rows** (![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/expand-rows-icon.png)) di kanan atas dari setiap panel skema untuk memperluas daftar kunci properti data anak. Setelah Anda memilih ikon ini, ia akan berubah ke ikon **Collapse-Rows** (![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/collapse-rows-icon.png)), yang dapat Anda pilih untuk menutup daftar kunci properti anak.

1. Memodifikasi skema menggunakan tindakan berikut di bagian di sisi kanan halaman:
   + Untuk mengubah nama kunci properti, tempatkan kursor di kotak teks **Kunci** untuk kunci properti, lalu masukkan nama baru.
   + Untuk mengubah tipe data untuk kunci properti, gunakan daftar untuk memilih tipe data baru untuk kunci properti.
   + Untuk menambahkan kunci properti tingkat atas baru pada skema, pilih ikon **Overflow** (![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/edit-schema-actions-button.png)) di sebelah kiri tombol **Batalkan**, dan kemudian pilih **Tambahkan kunci akar**.
   + Untuk menambahkan kunci properti anak untuk skema, pilih ikon **Add-Key** ![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/filter-add-icon.png) yang dikaitkan dengan kunci induk. Pilih nama untuk kunci anak dan pilih tipe data.
   + Untuk menghapus kunci properti dari skema, pilih ikon **Hapus** (![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/delete-icon-black.png)) yang ada di ujung kanan nama kunci. 

1. Jika kode transformasi kustom Anda menggunakan beberapa `DynamicFrames`, Anda dapat menambahkan skema output tambahan. 
   + Untuk menambahkan skema baru dan kosong, pilih ikon **Overflow** (![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/edit-schema-actions-button.png)), dan kemudian pilih **Tambah skema output**.
   + Untuk menyalin skema yang ada ke skema output baru, pastikan skema yang ingin Anda salin ditampilkan dalam pemilih skema. Pilih ikon **Overflow** (![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/edit-schema-actions-button.png)), dan kemudian pilih **Duplikasi**.

   Jika Anda ingin menghapus sebuah skema output, pastikan skema yang ingin Anda salin ditampilkan dalam pemilih skema. Pilih ikon **Overflow** (![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/edit-schema-actions-button.png)), dan kemudian pilih **Hapus**.

1. Menambahkan kunci akar baru untuk skema baru atau mengedit kunci yang diduplikasi. 

1. Ketika Anda memodifikasi skema output, pilih **Terapkan** untuk menyimpan perubahan dan keluar dari editor skema.

   Jika Anda tidak ingin menyimpan perubahan, pilih tombol **Batalkan**.

## Mengkonfigurasi output transformasi kustom
<a name="transforms-custom-output"></a>

Sebuah transformasi kode kustom mengembalikan sebuah koleksi `DynamicFrames`, bahkan jika hanya ada satu `DynamicFrame` di set yang dihasilkan. 

**Untuk memproses output dari sebuah simpul transformasi kustom**

1. Tambahkan node *SelectFromCollection*transformasi, yang memiliki node transformasi kustom sebagai simpul induknya. Perbarui transformasi ini untuk menunjukkan set data yang ingin Anda gunakan. Untuk informasi selengkapnya, lihat [Menggunakan SelectFromCollection untuk memilih kumpulan data mana yang akan disimpan](transforms-configure-select-collection.md).

1. Tambahkan *SelectFromCollection*transformasi tambahan ke diagram pekerjaan jika Anda ingin menggunakan tambahan yang `DynamicFrames` dihasilkan oleh node transformasi kustom. 

   Pertimbangkan skenario di mana Anda menambahkan simpul transformasi kustom untuk membagi set data penerbangan menjadi beberapa set data, tetapi duplikat beberapa kunci properti pengidentifikasi di setiap skema output, seperti tanggal penerbangan atau nomor penerbangan. Anda menambahkan node *SelectFromCollection*transformasi untuk setiap skema output, dengan node transformasi kustom sebagai induknya.

1. (Opsional) Anda kemudian dapat menggunakan setiap node *SelectFromCollection*transformasi sebagai input untuk node lain dalam pekerjaan, atau sebagai induk untuk node target data.

# Mengubah data dengan transformasi visual kustom
<a name="custom-visual-transform"></a>

 Transformasi visual khusus memungkinkan Anda membuat transformasi dan membuatnya tersedia untuk digunakan dalam AWS Glue Studio pekerjaan. Transformasi visual khusus memungkinkan pengembang ETL, yang mungkin tidak terbiasa dengan pengkodean, untuk mencari dan menggunakan perpustakaan transformasi yang berkembang menggunakan antarmuka. AWS Glue Studio 

 Anda dapat membuat transformasi visual khusus, lalu mengunggahnya ke Amazon S3 agar tersedia untuk digunakan melalui editor visual AWS Glue Studio untuk bekerja dengan pekerjaan ini. 

**Topics**
+ [Memulai dengan transformasi visual khusus](custom-visual-transform-getting-started.md)
+ [Langkah 1. Buat file konfigurasi JSON](custom-visual-transform-json-config-file.md)
+ [Langkah 2. Menerapkan logika transformasi](custom-visual-transform-implementation.md)
+ [Langkah 3. Validasi dan pecahkan masalah transformasi visual khusus di AWS Glue Studio](custom-visual-transform-validation.md)
+ [Langkah 4. Perbarui transformasi visual khusus sesuai kebutuhan](custom-visual-transform-updating-transforms.md)
+ [Langkah 5. Gunakan transformasi visual khusus di AWS Glue Studio](custom-visual-transform-create-gs.md)
+ [Contoh penggunaan](custom-visual-transform-example-json.md)
+ [Contoh skrip visual kustom](custom-visual-transform-example-scripts.md)
+ [Video](#custom-visual-transform-video)

# Memulai dengan transformasi visual khusus
<a name="custom-visual-transform-getting-started"></a>

 Untuk membuat transformasi visual khusus, Anda melalui langkah-langkah berikut. 
+  Langkah 1. Buat file konfigurasi JSON 
+  Langkah 2. Menerapkan logika transformasi 
+  Langkah 3. Validasi transformasi visual kustom 
+  Langkah 4. Perbarui transformasi visual khusus sesuai kebutuhan 
+  Langkah 5. Gunakan transformasi visual khusus di AWS Glue Studio 

 Mulailah dengan menyiapkan bucket Amazon S3 dan lanjutkan ke **Langkah 1. Buat file konfigurasi JSON.** 

## Prasyarat
<a name="custom-visual-transform-prerequisites"></a>

 Transformasi yang disediakan pelanggan berada dalam akun pelanggan. AWS Akun itu memiliki transformasi dan karenanya memiliki semua izin untuk melihat (mencari dan menggunakan), mengedit, atau menghapusnya. 

 Untuk menggunakan transformasi khususAWS Glue Studio, Anda harus membuat dan mengunggah dua file ke bucket aset Amazon S3 di akun tersebut AWS : 
+  **File Python** - berisi fungsi transformasi 
+  **File JSON** - menjelaskan transformasi. Ini juga dikenal sebagai file konfigurasi yang diperlukan untuk mendefinisikan transformasi. 

 Untuk memasangkan file bersama-sama, gunakan nama yang sama untuk keduanya. Contoh: 
+  MyTransform.json 
+  myTransform.py 

 Secara opsional, Anda dapat memberikan transformasi visual kustom Anda ikon kustom dengan menyediakan **file SVG** yang berisi ikon. Untuk memasangkan file bersama-sama, gunakan nama yang sama untuk ikon: 
+  myTransform.svg 

 AWS Glue Studioakan secara otomatis mencocokkan mereka menggunakan nama file masing-masing. Nama file tidak boleh sama untuk modul yang ada. 

## Konvensi yang direkomendasikan untuk mengubah nama file
<a name="custom-visual-transform-recommended-transform-file-name"></a>

 AWS Glue Studioakan mengimpor file Anda sebagai modul (misalnya,`import myTransform`) dalam skrip pekerjaan Anda. Oleh karena itu, nama file Anda harus mengikuti aturan penamaan yang sama yang ditetapkan untuk nama variabel python (pengidentifikasi). Secara khusus, mereka harus mulai dengan huruf atau garis bawah dan kemudian seluruhnya terdiri dari huruf, angka, garis bawah. and/or 

**catatan**  
 Pastikan nama file transform Anda tidak bertentangan dengan modul python yang dimuat (misalnya, `sys, array, copy` dll.) Untuk menghindari masalah runtime yang tidak terduga. 

## Menyiapkan bucket Amazon S3
<a name="custom-visual-transform-setting-up-s3"></a>

 Transformasi yang Anda buat disimpan di Amazon S3 dan dimiliki oleh AWS akun Anda. Anda membuat transformasi visual kustom baru hanya dengan mengunggah file (json dan py) ke folder aset Amazon S3 tempat semua skrip pekerjaan saat ini disimpan (misalnya,). `s3://aws-glue-assets-<accountid>-<region>/transforms` Jika menggunakan ikon khusus, unggah juga. Secara default, AWS Glue Studio akan membaca semua file.json dari folder /transforms di bucket S3 yang sama. 

# Langkah 1. Buat file konfigurasi JSON
<a name="custom-visual-transform-json-config-file"></a>

 File konfigurasi JSON diperlukan untuk menentukan dan mendeskripsikan transformasi visual kustom Anda. Skema untuk file konfigurasi adalah sebagai berikut. 

## Struktur file JSON
<a name="custom-visual-transform-json-file-structure"></a>

 **Bidang** 
+  `name: string`— (diperlukan) nama sistem transformasi yang digunakan untuk mengidentifikasi transformasi. Ikuti aturan penamaan yang sama yang ditetapkan untuk nama variabel python (pengidentifikasi). Secara khusus, mereka harus mulai dengan huruf atau garis bawah dan kemudian seluruhnya terdiri dari huruf, angka, garis bawah. and/or 
+  `displayName: string`— (opsional) nama transformasi yang ditampilkan di editor pekerjaan AWS Glue Studio visual. Jika tidak `displayName` ditentukan, `name` digunakan sebagai nama transformasi diAWS Glue Studio. 
+  `description: string`— (opsional) deskripsi transformasi ditampilkan AWS Glue Studio dan dapat dicari. 
+  `functionName: string`— (wajib) nama fungsi Python digunakan untuk mengidentifikasi fungsi untuk memanggil dalam skrip Python. 
+  `path: string`— (opsional) jalur Amazon S3 lengkap ke file sumber Python. Jika tidak ditentukan, AWS Glue gunakan pencocokan nama file untuk memasangkan file.json dan .py bersama-sama. Misalnya, nama file JSON,`myTransform.json`, akan dipasangkan ke file Python,`myTransform.py`, di lokasi Amazon S3 yang sama. 
+  `parameters: Array of TransformParameter object`— (opsional) daftar parameter yang akan ditampilkan saat Anda mengonfigurasinya di editor AWS Glue Studio visual. 

<a name="transformparameter-fields"></a> **TransformParameter bidang** 
+  `name: string`— (required) nama parameter yang akan diteruskan ke fungsi python sebagai argumen bernama dalam skrip pekerjaan. Ikuti aturan penamaan yang sama yang ditetapkan untuk nama variabel python (pengidentifikasi). Secara khusus, mereka harus mulai dengan huruf atau garis bawah dan kemudian seluruhnya terdiri dari huruf, angka, garis bawah. and/or 
+  `displayName: string`— (opsional) nama transformasi yang ditampilkan di editor pekerjaan AWS Glue Studio visual. Jika tidak `displayName` ditentukan, `name` digunakan sebagai nama transformasi diAWS Glue Studio. 
+  `type: string`— (wajib) tipe parameter yang menerima tipe data Python umum. Nilai yang valid: 'str' \$1 'int' \$1 'float' \$1 'list' \$1 'bool'. 
+  `isOptional: boolean`— (opsional) menentukan apakah parameter opsional. Secara default semua parameter diperlukan. 
+  `description: string`— (opsional) deskripsi ditampilkan AWS Glue Studio untuk membantu pengguna mengkonfigurasi parameter transformasi. 
+  `validationType: string`— (opsional) mendefinisikan cara parameter ini divalidasi. Saat ini, ini hanya mendukung ekspresi reguler. Secara default, jenis validasi diatur ke`RegularExpression`. 
+  `validationRule: string`— (opsional) ekspresi reguler yang digunakan untuk memvalidasi input formulir sebelum mengirimkan ketika `validationType` diatur ke`RegularExpression`. Sintaks ekspresi reguler harus kompatibel dengan spesifikasi [ RegExp Ecmascript](https://tc39.es/ecma262/multipage/text-processing.html#sec-regexp-regular-expression-objects). 
+  `validationMessage: string`— (opsional) pesan untuk ditampilkan ketika validasi gagal. 
+  `listOptions: An array of TransformParameterListOption object`ATAU a `string` atau nilai string 'kolom' - (opsional) opsi untuk ditampilkan di kontrol Select atau Multiselect UI. Menerima daftar nilai dipisahkan koma atau tipe objek JSON yang sangat kuat. `TransformParameterListOption` Hal ini juga dapat secara dinamis mengisi daftar kolom dari skema node induk dengan menentukan nilai string “kolom”. 
+  `listType: string`— (opsional) Tentukan jenis opsi untuk tipe = 'daftar'. Nilai yang valid: 'str' \$1 'int' \$1 'float' \$1 'list' \$1 'bool'. Jenis parameter menerima tipe data python umum. 

 **TransformParameterListOption bidang** 
+  `value: string | int | float | bool`— (wajib) nilai opsi. 
+  `label: string`- (opsional) label opsi ditampilkan di pilih dropdown. 

## Ubah parameter di AWS Glue Studio
<a name="custom-visual-transform-parameters"></a>

 Secara default, parameter diperlukan kecuali tandai seperti `isOptional` pada file.json. DalamAWS Glue Studio, parameter ditampilkan di tab **Transform**. Contoh ini menunjukkan parameter yang ditentukan pengguna seperti Alamat Email, Nomor Telepon, Usia Anda, Jenis kelamin Anda, dan negara asal Anda. 

![\[Tangkapan layar menunjukkan transformasi visual khusus yang dipilih dan tab Transform dengan parameter yang ditentukan pengguna.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/dynamic-transform-parameters.png)


 Anda dapat menerapkan beberapa validasi dalam AWS Glue Studio menggunakan ekspresi reguler dalam file json dengan menentukan `validationRule` parameter dan menentukan pesan validasi di. `validationMessage` 

```
      "validationRule": "^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})$",
      "validationMessage": "Please enter a valid US number"
```

**catatan**  
 Karena validasi terjadi di browser, sintaks ekspresi reguler Anda harus kompatibel dengan spesifikasi [ RegExp Ecmascript](https://tc39.es/ecma262/multipage/text-processing.html#sec-regexp-regular-expression-objects). Sintaks Python tidak didukung untuk ekspresi reguler ini. 

 Menambahkan validasi akan mencegah pengguna menyimpan pekerjaan dengan input pengguna yang salah. AWS Glue Studiomenampilkan pesan validasi seperti yang ditampilkan dalam contoh: 

![\[Tangkapan layar menunjukkan parameter transformasi visual khusus dengan pesan kesalahan validasi: Masukkan alamat email yang valid.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/dynamic-transform-validation-message.png)


 Parameter ditampilkan AWS Glue Studio berdasarkan konfigurasi parameter. 
+  `type`Kapan salah satu dari berikut ini: `str``float`, `int` atau, bidang input teks ditampilkan. Misalnya, tangkapan layar menunjukkan bidang input untuk parameter 'Alamat Email' dan 'Usia Anda'.   
![\[Tangkapan layar menunjukkan parameter transformasi visual khusus dengan bidang input teks.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/dynamic-transform-email-address.png)  
![\[Tangkapan layar menunjukkan parameter transformasi visual khusus dengan bidang input teks.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/dynamic-transform-your-age.png)
+  `type`Kapan`bool`, kotak centang ditampilkan.   
![\[Tangkapan layar menunjukkan parameter transformasi visual khusus dengan bidang input teks.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/dynamic-transform-bool.png)
+  `type`Kapan `str` dan `listOptions` disediakan, satu daftar pilih ditampilkan.   
![\[Tangkapan layar menunjukkan parameter transformasi visual khusus dengan drop-down daftar pilih tunggal.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/dynamic-transform-single-list.png)
+  `type`Kapan `list` dan `listOptions` dan `listType` disediakan, daftar multi-pilih ditampilkan.   
![\[Tangkapan layar menunjukkan parameter transformasi visual khusus dengan daftar drop-down.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/dynamic-transform-list-options.png)

### Menampilkan pemilih kolom sebagai parameter
<a name="custom-visual-transform-parameters-column-selector"></a>

 Jika konfigurasi mengharuskan pengguna untuk memilih kolom dari skema, Anda dapat menampilkan pemilih kolom sehingga pengguna tidak diharuskan untuk mengetikkan nama kolom. Dengan mengatur `listOptions` bidang ke '“kolom”, AWS Glue Studio secara dinamis menampilkan pemilih kolom berdasarkan skema keluaran node induk. AWS Glue Studiodapat menampilkan pemilih kolom tunggal atau beberapa. 

 Contoh berikut menggunakan skema: 

![\[Tangkapan layar menunjukkan skema keluaran sampel.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/custom-visual-transform-example-schema.png)


**Untuk menentukan parameter Custom Visual Transform Anda untuk menampilkan satu kolom:**

1.  Dalam file JSON Anda, untuk `parameters` objek, atur `listOptions` nilainya ke “kolom”. Hal ini memungkinkan pengguna untuk memilih kolom dari daftar pilih diAWS Glue Studio.   
![\[Tangkapan layar menunjukkan contoh file JSON dengan parameter ListOptions diatur ke “kolom” dan antarmuka pengguna yang dihasilkan di In. AWS Glue Studio\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/custom-visual-transform-example-listoptions-column.png)

1.  Anda juga dapat mengizinkan pemilihan beberapa kolom dengan mendefinisikan parameter sebagai: 
   +  `listOptions: "column"` 
   +  `type: "list"`   
![\[Tangkapan layar menunjukkan contoh file JSON dengan parameter ListOptions diatur ke “kolom” dan jenis diatur ke “daftar”, dan menghasilkan antarmuka pengguna di. AWS Glue Studio\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/custom-visual-transform-example-listoptions-column-type-list.png)

# Langkah 2. Menerapkan logika transformasi
<a name="custom-visual-transform-implementation"></a>

**catatan**  
 Transformasi visual khusus hanya mendukung skrip Python. Scala tidak didukung. 

 Untuk menambahkan kode yang mengimplementasikan fungsi yang ditentukan oleh file konfigurasi.json, disarankan untuk menempatkan file Python di lokasi yang sama dengan file.json, dengan nama yang sama tetapi dengan ekstensi “.py”. AWS Glue Studiosecara otomatis memasangkan file.json dan .py sehingga Anda tidak perlu menentukan jalur file Python di file konfigurasi. 

 Dalam file Python, tambahkan fungsi yang dideklarasikan, dengan parameter bernama dikonfigurasi dan daftarkan untuk digunakan. `DynamicFrame` Berikut ini adalah contoh file Python: 

```
from awsglue import DynamicFrame

# self refers to the DynamicFrame to transform, 
# the parameter names must match the ones defined in the config
# if it's optional, need to provide a default value
def myTransform(self, email, phone, age=None, gender="", 
                      country="", promotion=False):
   resulting_dynf = # do some transformation on self 
   return resulting_dynf
   
DynamicFrame.myTransform = myTransform
```

 Disarankan untuk menggunakan AWS Glue notebook untuk cara tercepat untuk mengembangkan dan menguji kode python. Lihat [Memulai dengan notebook di AWS Glue Studio](https://docs.aws.amazon.com/glue/latest/ug/notebook-getting-started.html). 

 Untuk mengilustrasikan cara menerapkan logika transformasi, transformasi visual khusus pada contoh di bawah ini adalah transformasi untuk memfilter data yang masuk agar hanya menyimpan data yang terkait dengan status AS tertentu. File.json berisi parameter untuk `functionName` as `custom_filter_state` dan dua argumen (“state” dan “colName” dengan tipe “str”). 

 Contoh file config .json adalah: 

```
{
"name": "custom_filter_state",
"displayName": "Filter State",
"description": "A simple example to filter the data to keep only the state indicated.",
"functionName": "custom_filter_state",
"parameters": [
   {
    "name": "colName",
    "displayName": "Column name",
    "type": "str",
    "description": "Name of the column in the data that holds the state postal code"
   },
   {
    "name": "state",
    "displayName": "State postal code",
    "type": "str",
    "description": "The postal code of the state whole rows to keep"
   }   
  ]
}
```

**Untuk mengimplementasikan skrip pendamping dengan Python**

1.  Mulai buku AWS Glue catatan dan jalankan sel awal yang disediakan untuk sesi yang akan dimulai. Menjalankan sel awal menciptakan komponen dasar yang diperlukan. 

1.  Buat fungsi yang melakukan pemfilteran seperti yang dijelaskan dalam contoh dan daftarkan. `DynamicFrame` Salin kode di bawah ini dan tempel ke sel di AWS Glue buku catatan. 

   ```
   from awsglue import DynamicFrame
   
   def custom_filter_state(self, colName, state):
       return self.filter(lambda row: row[colName] == state)
   
   DynamicFrame.custom_filter_state = custom_filter_state
   ```

1.  Buat atau muat data sampel untuk menguji kode di sel yang sama atau sel baru. Jika Anda menambahkan data sampel di sel baru, jangan lupa untuk menjalankan sel. Contoh: 

   ```
   # A few of rows of sample data to test
   data_sample = [
       {"state": "CA", "count": 4},
       {"state": "NY", "count": 2},
       {"state": "WA", "count": 3}    
   ]
   df1 = glueContext.sparkSession.sparkContext.parallelize(data_sample).toDF()
   dynf1 = DynamicFrame.fromDF(df1, glueContext, None)
   ```

1.  Uji untuk memvalidasi “custom\$1filter\$1state” dengan argumen yang berbeda:   
![\[Tangkapan layar menunjukkan sel di AWS Glue buku catatan dengan argumen yang diteruskan ke fungsi DynamicFrame.show.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/dynamic-transform-notebook-test-python.png)

1.  Setelah menjalankan beberapa tes, simpan kode dengan ekstensi.py dan beri nama file.py dengan nama yang mencerminkan nama file.json. File.py dan.json harus berada di folder transformasi yang sama. 

    Salin kode berikut dan tempel ke file dan ganti nama dengan ekstensi file.py. 

   ```
   from awsglue import DynamicFrame
   
   def custom_filter_state(self, colName, state):
       return self.filter(lambda row: row[colName] == state)
   
   DynamicFrame.custom_filter_state = custom_filter_state
   ```

1.  DiAWS Glue Studio, buka pekerjaan visual dan tambahkan transformasi ke pekerjaan dengan memilihnya dari daftar **Transformasi** yang tersedia. 

    Untuk menggunakan kembali transformasi ini dalam kode skrip Python, tambahkan jalur Amazon S3 ke file.py dalam pekerjaan di bawah “Jalur file yang direferensikan” dan dalam skrip, impor nama file python (tanpa ekstensi) dengan menambahkannya ke bagian atas file. Sebagai contoh: `import` <name of the file (without the extension) > 

# Langkah 3. Validasi dan pecahkan masalah transformasi visual khusus di AWS Glue Studio
<a name="custom-visual-transform-validation"></a>

 AWS Glue Studiomemvalidasi file konfigurasi JSON sebelum transformasi visual khusus dimuat ke dalam. AWS Glue Studio Validasi meliputi: 
+  Kehadiran bidang wajib 
+  Validasi format JSON 
+  Parameter salah atau tidak valid 
+  Kehadiran file.py dan .json di jalur Amazon S3 yang sama 
+  Mencocokkan nama file untuk .py dan .json 

 Jika validasi berhasil, transformasi tercantum dalam daftar **Tindakan** yang tersedia di editor visual. Jika ikon kustom telah disediakan, itu akan terlihat di samping **Action**. 

 Jika validasi gagal, AWS Glue Studio tidak memuat transformasi visual khusus. 

# Langkah 4. Perbarui transformasi visual khusus sesuai kebutuhan
<a name="custom-visual-transform-updating-transforms"></a>

 Setelah dibuat dan digunakan, skrip transformasi dapat diperbarui selama transformasi mengikuti definisi json yang sesuai: 
+  Nama yang digunakan saat menetapkan untuk DynamicFrame banyak cocok dengan `functionName` json. 
+  Argumen fungsi harus didefinisikan dalam file json seperti yang dijelaskan dalam[Langkah 1. Buat file konfigurasi JSON](custom-visual-transform-json-config-file.md). 
+  Jalur Amazon S3 dari file Python tidak dapat berubah, karena pekerjaan bergantung langsung padanya. 

**catatan**  
 Jika ada pembaruan yang perlu dilakukan, pastikan skrip dan file.json diperbarui secara konsisten dan pekerjaan visual apa pun disimpan dengan benar lagi dengan transformasi baru. Jika pekerjaan visual tidak disimpan setelah pembaruan dilakukan, pembaruan tidak akan diterapkan dan divalidasi. Jika file skrip Python diganti namanya atau tidak ditempatkan di sebelah file.json, maka Anda perlu menentukan path lengkap dalam file.json. 

**Ikon kustom**

Jika Anda menentukan ikon default untuk **Tindakan** tidak membedakannya secara visual sebagai bagian dari alur kerja, Anda dapat memberikan ikon kustom, seperti yang dijelaskan dalam[Memulai dengan transformasi visual khusus](custom-visual-transform-getting-started.md). Anda dapat memperbarui ikon dengan memperbarui SVG terkait yang dihosting di Amazon S3.

Untuk hasil terbaik, desain gambar Anda untuk dilihat pada 32x32px mengikuti pedoman dari Sistem Desain Cloudscape. [Untuk informasi selengkapnya tentang pedoman Cloudscape, lihat Dokumentasi Cloudscape](https://cloudscape.design/foundation/visual-foundation/iconography/#custom-icons)

# Langkah 5. Gunakan transformasi visual khusus di AWS Glue Studio
<a name="custom-visual-transform-create-gs"></a>

 Untuk menggunakan transformasi visual khususAWS Glue Studio, Anda mengunggah konfigurasi dan file sumber, lalu pilih transformasi dari menu **Tindakan**. Parameter apa pun yang membutuhkan nilai atau input tersedia untuk Anda di tab **Transform**. 

1.  Unggah dua file (file sumber Python dan file konfigurasi JSON) ke folder aset Amazon S3 tempat skrip pekerjaan disimpan. Secara default, AWS Glue menarik semua file JSON dari folder **/transforms** dalam bucket Amazon S3 yang sama. 

1.  Dari menu **Tindakan**, pilih transformasi visual khusus. Ini dinamai dengan transformasi `displayName` atau nama yang Anda tentukan dalam file konfigurasi.json. 

1.  Masukkan nilai untuk parameter apa pun yang dikonfigurasi dalam file konfigurasi.   
![\[Tangkapan layar menunjukkan transformasi visual khusus dengan parameter untuk diselesaikan pengguna di tab Transform.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/dynamic-transform-parameters.png)

# Contoh penggunaan
<a name="custom-visual-transform-example-json"></a>

 Berikut ini adalah contoh dari semua parameter yang mungkin dalam file konfigurasi.json. 

```
{
  "name": "MyTransform",
  "displayName": "My Transform",
  "description": "This transform description will be displayed in UI",
  "functionName": "myTransform",
  "parameters": [
      {
      "name": "email",
      "displayName": "Email Address",
      "type": "str",
      "description": "Enter your work email address below",
      "validationType": "RegularExpression",
      "validationRule": "^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$",
      "validationMessage": "Please enter a valid email address"
    },
    {
      "name": "phone",
      "displayName": "Phone Number",
      "type": "str",
      "description": "Enter your mobile phone number below",
      "validationRule": "^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})$",
      "validationMessage": "Please enter a valid US number"
    },
    {
      "name": "age",
      "displayName": "Your age",
      "type": "int",
      "isOptional": true
    },
    {
      "name": "gender",
      "displayName": "Your gender",
      "type": "str",
      "listOptions": [
            {"label": "Male", "value": "male"},
            {"label": "Female", "value": "female"},
            {"label": "Other", "value": "other"}
        ],
      "isOptional": true
    },
    {
      "name": "country",
      "displayName": "Your origin country ?",
      "type": "list",
      "listOptions": "Afghanistan,Albania,Algeria,American Samoa,Andorra,Angola,Anguilla,Antarctica,Antigua and Barbuda,Argentina,Armenia,Aruba,Australia,Austria,Azerbaijan,Bahamas,Bahrain,Bangladesh,Barbados,Belarus,Belgium,Belize,Benin,Bermuda,Bhutan,Bolivia,Bosnia and Herzegovina,Botswana,Bouvet Island,Brazil,British Indian Ocean Territory,Brunei Darussalam,Bulgaria,Burkina Faso,Burundi,Cambodia,Cameroon,Canada,Cape Verde,Cayman Islands,Central African Republic,Chad,Chile,China,Christmas Island,Cocos (Keeling Islands),Colombia,Comoros,Congo,Cook Islands,Costa Rica,Cote D'Ivoire (Ivory Coast),Croatia (Hrvatska,Cuba,Cyprus,Czech Republic,Denmark,Djibouti,Dominica,Dominican Republic,East Timor,Ecuador,Egypt,El Salvador,Equatorial Guinea,Eritrea,Estonia,Ethiopia,Falkland Islands (Malvinas),Faroe Islands,Fiji,Finland,France,France,Metropolitan,French Guiana,French Polynesia,French Southern Territories,Gabon,Gambia,Georgia,Germany,Ghana,Gibraltar,Greece,Greenland,Grenada,Guadeloupe,Guam,Guatemala,Guinea,Guinea-Bissau,Guyana,Haiti,Heard and McDonald Islands,Honduras,Hong Kong,Hungary,Iceland,India,Indonesia,Iran,Iraq,Ireland,Israel,Italy,Jamaica,Japan,Jordan,Kazakhstan,Kenya,Kiribati,Korea (North),Korea (South),Kuwait,Kyrgyzstan,Laos,Latvia,Lebanon,Lesotho,Liberia,Libya,Liechtenstein,Lithuania,Luxembourg,Macau,Macedonia,Madagascar,Malawi,Malaysia,Maldives,Mali,Malta,Marshall Islands,Martinique,Mauritania,Mauritius,Mayotte,Mexico,Micronesia,Moldova,Monaco,Mongolia,Montserrat,Morocco,Mozambique,Myanmar,Namibia,Nauru,Nepal,Netherlands,Netherlands Antilles,New Caledonia,New Zealand,Nicaragua,Niger,Nigeria,Niue,Norfolk Island,Northern Mariana Islands,Norway,Oman,Pakistan,Palau,Panama,Papua New Guinea,Paraguay,Peru,Philippines,Pitcairn,Poland,Portugal,Puerto Rico,Qatar,Reunion,Romania,Russian Federation,Rwanda,Saint Kitts and Nevis,Saint Lucia,Saint Vincent and The Grenadines,Samoa,San Marino,Sao Tome and Principe,Saudi Arabia,Senegal,Seychelles,Sierra Leone,Singapore,Slovak Republic,Slovenia,Solomon Islands,Somalia,South Africa,S. Georgia and S. Sandwich Isls.,Spain,Sri Lanka,St. Helena,St. Pierre and Miquelon,Sudan,Suriname,Svalbard and Jan Mayen Islands,Swaziland,Sweden,Switzerland,Syria,Tajikistan,Tanzania,Thailand,Togo,Tokelau,Tonga,Trinidad and Tobago,Tunisia,Turkey,Turkmenistan,Turks and Caicos Islands,Tuvalu,Uganda,Ukraine,United Arab Emirates,United Kingdom (Britain / UK),United States of America (USA),US Minor Outlying Islands,Uruguay,Uzbekistan,Vanuatu,Vatican City State (Holy See),Venezuela,Viet Nam,Virgin Islands (British),Virgin Islands (US),Wallis and Futuna Islands,Western Sahara,Yemen,Yugoslavia,Zaire,Zambia,Zimbabwe",
      "description": "What country were you born in?",
      "listType": "str",
      "isOptional": true
    },
    {
      "name": "promotion",
      "displayName": "Do you want to receive promotional newsletter from us?",
      "type": "bool",
      "isOptional": true
    }
  ]
}
```

# Contoh skrip visual kustom
<a name="custom-visual-transform-example-scripts"></a>

 Contoh berikut melakukan transformasi yang setara. Namun, contoh kedua (SparkSQL) adalah yang terbersih dan paling efisien, diikuti oleh Pandas UDF dan akhirnya pemetaan tingkat rendah pada contoh pertama. Contoh berikut adalah contoh lengkap dari transformasi sederhana untuk menambahkan dua kolom: 

```
from awsglue import DynamicFrame
 
# You can have other auxiliary variables, functions or classes on this file, it won't affect the runtime
def record_sum(rec, col1, col2, resultCol):
    rec[resultCol] = rec[col1] + rec[col2]
    return rec
 
 
# The number and name of arguments must match the definition on json config file
# (expect self which is the current DynamicFrame to transform
# If an argument is optional, you need to define a default value here
#  (resultCol in this example is an optional argument)
def custom_add_columns(self, col1, col2, resultCol="result"):
    # The mapping will alter the columns order, which could be important
    fields = [field.name for field in self.schema()]
    if resultCol not in fields:
        # If it's a new column put it at the end
        fields.append(resultCol)
    return self.map(lambda record: record_sum(record, col1, col2, resultCol)).select_fields(paths=fields)
 
 
# The name we assign on DynamicFrame must match the configured "functionName"
DynamicFrame.custom_add_columns = custom_add_columns
```

 Contoh berikut adalah transformasi setara yang memanfaatkan SparkSQL API. 

```
from awsglue import DynamicFrame
 
# The number and name of arguments must match the definition on json config file
# (expect self which is the current DynamicFrame to transform
# If an argument is optional, you need to define a default value here
#  (resultCol in this example is an optional argument)
def custom_add_columns(self, col1, col2, resultCol="result"):
    df = self.toDF()
    return DynamicFrame.fromDF(
        df.withColumn(resultCol, df[col1] + df[col2]) # This is the conversion logic
        , self.glue_ctx, self.name) 
 
 
# The name we assign on DynamicFrame must match the configured "functionName"
DynamicFrame.custom_add_columns = custom_add_columns
```

 Contoh berikut menggunakan transformasi yang sama tetapi menggunakan panda UDF, yang lebih efisien daripada menggunakan UDF biasa. Untuk informasi lebih lanjut tentang menulis panda UDFs lihat: Dokumentasi [Apache Spark SQL](https://spark.apache.org/docs/3.1.1/api/python/reference/api/pyspark.sql.functions.pandas_udf.html). 

```
from awsglue import DynamicFrame
import pandas as pd
from pyspark.sql.functions import pandas_udf
 
# The number and name of arguments must match the definition on json config file
# (expect self which is the current DynamicFrame to transform
# If an argument is optional, you need to define a default value here
#  (resultCol in this example is an optional argument)
def custom_add_columns(self, col1, col2, resultCol="result"):
    @pandas_udf("integer")  # We need to declare the type of the result column
    def add_columns(value1: pd.Series, value2: pd.Series) → pd.Series:
        return value1 + value2
 
    df = self.toDF()
    return DynamicFrame.fromDF(
        df.withColumn(resultCol, add_columns(col1, col2)) # This is the conversion logic
        , self.glue_ctx, self.name) 
 
# The name we assign on DynamicFrame must match the configured "functionName"
DynamicFrame.custom_add_columns = custom_add_columns
```

## Video
<a name="custom-visual-transform-video"></a>

Video berikut memberikan pengantar transformasi kustom visual dan menunjukkan cara menggunakannya.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/xFpAhANcVcg/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/xFpAhANcVcg)


# Menggunakan kerangka Data Lake dengan AWS Glue Studio
<a name="gs-data-lake-formats"></a>

## Ikhtisar
<a name="gs-data-lake-formats-overview"></a>

 Kerangka kerja data lake sumber terbuka menyederhanakan pemrosesan data tambahan untuk file yang disimpan di danau data yang dibangun di Amazon S3. AWS Glue3.0 dan yang lebih baru mendukung kerangka kerja penyimpanan data lake sumber terbuka berikut: 
+  Apache Hudi 
+  Yayasan Linux Delta Lake 
+  Gunung Es Apache 

 Mulai AWS Glue 4.0, AWS Glue menyediakan dukungan asli untuk kerangka kerja ini sehingga Anda dapat membaca dan menulis data yang Anda simpan di Amazon S3 dengan cara yang konsisten secara transaksional. Tidak perlu menginstal konektor terpisah atau menyelesaikan langkah-langkah konfigurasi tambahan untuk menggunakan kerangka kerja ini dalam AWS Glue pekerjaan. 

 Framework Data Lake dapat digunakan sebagai sumber atau target di dalam AWS Glue Studio melalui pekerjaan Spark Script Editor. Untuk informasi lebih lanjut tentang menggunakan Apache Hudi, Apache Iceberg dan Delta Lake lihat: [Menggunakan kerangka data](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-datalake-native-frameworks.html) lake dengan pekerjaan ETL. AWS Glue 

## Membuat format tabel terbuka dari sumber AWS Glue Streaming
<a name="gs-data-lake-formats-streaming"></a>

AWS Glue streaming pekerjaan ETL terus mengkonsumsi data dari sumber streaming, membersihkan dan mengubah data dalam penerbangan, dan membuatnya tersedia untuk analisis dalam hitungan detik.

AWS menawarkan berbagai pilihan layanan untuk mendukung kebutuhan Anda. Layanan replikasi AWS database seperti Database Migration Service dapat mereplikasi data dari sistem sumber Anda ke Amazon S3, yang biasanya menampung lapisan penyimpanan data lake. Meskipun mudah untuk menerapkan pembaruan pada sistem manajemen basis data relasional (RDBMS) yang mendukung aplikasi sumber online, sulit untuk menerapkan proses CDC ini di danau data Anda. Kerangka kerja manajemen data sumber terbuka menyederhanakan pemrosesan data tambahan dan pengembangan pipa data, dan merupakan pilihan yang baik untuk memecahkan masalah ini.

Untuk informasi lebih lanjut, lihat:
+ [Buat danau data near-real-time transaksional berbasis Apache Hudi menggunakan Streaming AWS Glue](https://aws.amazon.com/blogs/big-data/create-an-apache-hudi-based-near-real-time-transactional-data-lake-using-aws-dms-amazon-kinesis-aws-glue-streaming-etl-and-data-visualization-using-amazon-quicksight/)
+ [Bangun danau data Apache Iceberg yang selaras dengan GDPR secara real-time](https://aws.amazon.com/blogs/big-data/build-a-real-time-gdpr-aligned-apache-iceberg-data-lake/)

# Menggunakan kerangka Hudi di AWS Glue Studio
<a name="gs-data-lake-formats-hudi"></a>

 Saat membuat atau mengedit pekerjaan, AWS Glue Studio secara otomatis menambahkan pustaka Hudi yang sesuai untuk Anda tergantung pada versi yang AWS Glue Anda gunakan. Untuk informasi selengkapnya, lihat [Menggunakan kerangka kerja Hudi di](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format-hudi.html). AWS Glue 

## Menggunakan kerangka Apache Hudi di sumber data Katalog Data
<a name="gs-data-lake-formats-hudi-source-catalog"></a>

**Untuk menambahkan format sumber data Hudi ke pekerjaan:**

1.  Dari menu Sumber, pilih Katalog AWS Glue Studio Data. 

1.  Di tab **Properti sumber data**, pilih database dan tabel. 

1.  AWS Glue Studiomenampilkan jenis format sebagai Apache Hudi dan URL Amazon S3.   
![\[Tangkapan layar menunjukkan tab properti sumber data untuk simpul sumber Katalog Data.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data_lake_formats_data_catalog_hudi.png)

## Menggunakan kerangka kerja Hudi di sumber data Amazon S3
<a name="gs-data-lake-formats-hudi-source-s3.title"></a>

1.  Dari menu Sumber, pilihAmazon S3. 

1.  Jika Anda memilih tabel Katalog Data sebagai jenis sumber Amazon S3, pilih database dan tabel. 

1.  AWS Glue Studiomenampilkan format sebagai Apache Hudi dan URL Amazon S3. 

1.  **Jika Anda memilih lokasi Amazon S3 sebagai jenis **sumber Amazon S3**, pilih URL Amazon S3 dengan mengklik Jelajahi Amazon S3.** 

1.  Dalam **format Data**, pilih Apache Hudi. 
**catatan**  
 Jika AWS Glue Studio tidak dapat menyimpulkan skema dari folder Amazon S3 atau file yang Anda **pilih, pilih Opsi tambahan untuk memilih** folder atau file baru.   
 Dalam **Opsi tambahan** pilih dari opsi berikut di bawah **Inferensi skema**:   
 Biarkan AWS Glue Studio secara otomatis memilih file sampel - AWS Glue Studio akan memilih file sampel di lokasi Amazon S3 sehingga skema dapat disimpulkan. Di bidang **File sampel otomatis**, Anda dapat melihat file yang dipilih secara otomatis. 
 Pilih file sampel dari Amazon S3 - pilih file Amazon S3 yang akan digunakan dengan mengklik Jelajahi **Amazon** S3. 

1.  Klik **Skema Infer**. Anda kemudian dapat melihat skema output dengan mengklik **Skema keluaran tab**. 

1.  Pilih **Opsi tambahan** untuk memasukkan pasangan kunci-nilai.   
![\[Tangkapan layar menunjukkan bagian Opsi tambahan di tab Properti sumber data untuk simpul sumber data Amazon S3.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data_lake_formats_additional_options.png)

## Menggunakan kerangka Apache Hudi dalam target data
<a name="gs-data-lake-formats-hudi-target"></a>

### Menggunakan kerangka Apache Hudi dalam target data Katalog Data
<a name="gs-data-lake-formats-hudi-target-catalog"></a>

1.  Dari menu **Target**, pilih Katalog AWS Glue Studio Data. 

1.  Di tab **Properti sumber data**, pilih database dan tabel. 

1.  AWS Glue Studiomenampilkan jenis format sebagai Apache Hudi dan URL Amazon S3. 

#### Menggunakan kerangka Apache Hudi di target data Amazon S3
<a name="gs-data-lake-formats-hudi-target-s3"></a>

 Masukkan nilai atau pilih dari opsi yang tersedia untuk mengonfigurasi format Apache Hudi. Untuk informasi lebih lanjut tentang Apache Hudi, lihat dokumentasi [Apache](https://hudi.apache.org/docs/overview) Hudi. 

![\[Tangkapan layar menunjukkan bagian Opsi tambahan di tab Properti sumber data untuk simpul sumber data Amazon S3.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/hudi_s3_target_properties.png)

+  **Nama Tabel Hudi** — ini adalah nama tabel hudi Anda. 
+  **Hudi Storage Type** - pilih dari dua opsi: 
  +  **Salin saat menulis** - direkomendasikan untuk mengoptimalkan kinerja baca. Ini adalah tipe penyimpanan Hudi default. Setiap pembaruan membuat versi file baru selama penulisan. 
  +  **Gabungkan saat dibaca** — disarankan untuk meminimalkan latensi tulis. Pembaruan dicatat ke file delta berbasis baris dan dipadatkan sesuai kebutuhan untuk membuat file kolumnar versi baru. 
+  **Operasi Tulis Hudi** - pilih dari opsi berikut: 
  +  **Upsert** - ini adalah operasi default di mana catatan input pertama kali ditandai sebagai sisipan atau pembaruan dengan mencari indeks. Disarankan di mana Anda memperbarui data yang ada. 
  +  **Sisipkan** — ini menyisipkan catatan tetapi tidak memeriksa catatan yang ada dan dapat mengakibatkan duplikat. 
  +  **Sisipan Massal** — ini menyisipkan catatan dan direkomendasikan untuk sejumlah besar data. 
+  **Hudi Record Key Fields** — gunakan bilah pencarian untuk mencari dan memilih kunci rekam utama. Catatan dalam Hudi diidentifikasi oleh kunci utama yang merupakan sepasang kunci catatan dan jalur partisi tempat catatan berada. 
+  **Hudi Precombine Field** - ini adalah bidang yang digunakan dalam PreCombining sebelum menulis aktual. Ketika dua record memiliki nilai kunci yang sama, AWS Glue Studio akan memilih satu dengan nilai terbesar untuk bidang precombine. Tetapkan bidang dengan nilai tambahan (misalnya updated\$1at) milik. 
+  **Jenis Kompresi** - pilih dari salah satu opsi jenis kompresi: Tidak Terkompresi, GZIP, LZO, atau Snappy. 
+  **Lokasi Target **Amazon S3 - pilih lokasi target** Amazon S3 dengan mengklik Jelajahi S3.** 
+  **Opsi pembaruan Katalog Data** - pilih dari opsi berikut: 
  +  Jangan memutakhirkan Katalog Data: (Default) Pilih opsi ini jika Anda tidak ingin tugas memperbarui Katalog Data, bahkan jika skema berubah atau partisi baru ditambahkan. 
  +  Buat tabel di Katalog Data dan pada proses berikutnya, perbarui skema dan tambahkan partisi baru: Jika Anda memilih opsi ini, pekerjaan membuat tabel di Katalog Data pada proses pertama pekerjaan. Pada eksekusi tugas berikutnya, tugas memutakhirkan tabel Katalog Data jika skema berubah atau partisi baru ditambahkan. 

     Anda juga harus memilih sebuah basis data dari Katalog Data dan memasukkan nama tabel. 
  +  Membuat tabel di Katalog Data dan eksekusi berikutnya, mempertahankan skema yang ada dan menambahkan partisi baru: Jika Anda memilih opsi ini, maka tugas akan menciptakan tabel di Katalog Data pada eksekusi pertama tugas. Pada eksekusi tugas berikutnya, tugas memutakhirkan tabel Katalog Data hanya jika partisi baru ditambahkan. 

     Anda juga harus memilih sebuah basis data dari Katalog Data dan memasukkan nama tabel. 
+  Kunci partisi: Pilih kolom mana yang digunakan sebagai kunci partisi dalam output. Untuk menambahkan lebih banyak kunci partisi, pilih Tambahkan kunci partisi. 
+  **Opsi tambahan** - masukkan pasangan kunci-nilai sesuai kebutuhan. 

## Menghasilkan kode melalui AWS Glue Studio
<a name="gs-data-lake-formats-hudi-generating-code"></a>

 Ketika pekerjaan disimpan, parameter pekerjaan berikut ditambahkan ke pekerjaan jika sumber atau target Hudi terdeteksi: 
+  `--datalake-formats`— daftar format data lake yang berbeda terdeteksi dalam pekerjaan visual (baik secara langsung dengan memilih “Format” atau secara tidak langsung dengan memilih tabel katalog yang didukung oleh danau data). 
+  `--conf `— dihasilkan berdasarkan nilai`--datalake-formats`. Misalnya, jika nilai untuk `--datalake-formats` adalah 'hudi', AWS Glue menghasilkan nilai `spark.serializer=org.apache.spark.serializer.KryoSerializer —conf spark.sql.hive.convertMetastoreParquet=false` untuk parameter ini. 

## Mengesampingkan pustaka AWS Glue yang disediakan
<a name="gs-data-lake-formats-hudi-overriding-libraries"></a>

 Untuk menggunakan versi Hudi yang AWS Glue tidak mendukung, Anda dapat menentukan file JAR perpustakaan Hudi Anda sendiri. Untuk menggunakan file JAR Anda sendiri: 
+  gunakan parameter `--extra-jars` pekerjaan. Misalnya, `'--extra-jars': 's3pathtojarfile.jar'`. Untuk informasi selengkapnya, lihat [parameter AWS Glue pekerjaan](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html). 
+  tidak termasuk `hudi` sebagai nilai untuk parameter `--datalake-formats` pekerjaan. Memasukkan string kosong sebagai nilai memastikan bahwa tidak ada pustaka data lake yang disediakan untuk Anda secara AWS Glue otomatis. Untuk informasi selengkapnya, lihat [Menggunakan kerangka kerja Hudi di](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format-hudi.html). AWS Glue 

# Menggunakan kerangka Delta Lake di AWS Glue Studio
<a name="gs-data-lake-formats-delta"></a>

## Menggunakan kerangka Delta Lake dalam sumber data
<a name="gs-data-lake-formats-delta-source"></a>

### Menggunakan kerangka Delta Lake di sumber data Amazon S3
<a name="gs-data-lake-formats-delta-lake-s3-data-source"></a>

1.  Dari menu Sumber, pilihAmazon S3. 

1.  Jika Anda memilih tabel Katalog Data sebagai jenis sumber Amazon S3, pilih database dan tabel. 

1.  AWS Glue Studiomenampilkan format sebagai Delta Lake dan URL Amazon S3. 

1.  Pilih **Opsi tambahan** untuk memasukkan pasangan kunci-nilai. Misalnya, pasangan kunci-nilai dapat berupa: **key: timestampAsOf dan **value**: 2023-02-24** 14:16:18.   
![\[Tangkapan layar menunjukkan bagian Opsi tambahan di tab Properti sumber data untuk simpul sumber data Amazon S3.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/data_lake_formats_additional_options.png)

1.  **Jika Anda memilih lokasi Amazon S3 sebagai jenis **sumber Amazon S3**, pilih URL Amazon S3 dengan mengklik Jelajahi Amazon S3.** 

1.  Dalam **format Data**, pilih Delta Lake. 
**catatan**  
 Jika AWS Glue Studio tidak dapat menyimpulkan skema dari folder Amazon S3 atau file yang Anda **pilih, pilih Opsi tambahan untuk memilih** folder atau file baru.   
 Dalam **Opsi tambahan** pilih dari opsi berikut di bawah **Inferensi skema**:   
 Biarkan AWS Glue Studio secara otomatis memilih file sampel - AWS Glue Studio akan memilih file sampel di lokasi Amazon S3 sehingga skema dapat disimpulkan. Di bidang **File sampel otomatis**, Anda dapat melihat file yang dipilih secara otomatis. 
 Pilih file sampel dari Amazon S3 - pilih file Amazon S3 yang akan digunakan dengan mengklik Jelajahi **Amazon** S3. 

1.  Klik **Skema Infer**. Anda kemudian dapat melihat skema output dengan mengklik **Skema keluaran tab**. 

### Menggunakan kerangka Delta Lake di sumber data Katalog Data
<a name="gs-data-lake-formats-delta-catalog"></a>

1.  Dari menu **Sumber**, pilih Katalog AWS Glue Studio Data. 

1.  Di tab **Properti sumber data**, pilih database dan tabel. 

1.  AWS Glue Studiomenampilkan jenis format sebagai Delta Lake dan URL Amazon S3. 
**catatan**  
 Jika sumber Delta Lake Anda belum terdaftar sebagai tabel Katalog AWS Glue Data, Anda memiliki dua opsi:   
 Buat AWS Glue crawler untuk penyimpanan data Delta Lake. Untuk informasi selengkapnya, lihat [Cara menentukan opsi konfigurasi untuk penyimpanan data Delta Lake](https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html#crawler-delta-lake). 
 Gunakan sumber data Amazon S3 untuk memilih sumber data Delta Lake Anda. Lihat [Menggunakan kerangka Delta Lake di sumber data Amazon S3](#gs-data-lake-formats-delta-lake-s3-data-source). 

## Menggunakan format Delta Lake dalam target data
<a name="gs-data-lake-formats-delta-target"></a>

### Menggunakan format Delta Lake dalam target data Katalog Data
<a name="gs-data-lake-formats-delta-target-catalog"></a>

1.  Dari menu **Target**, pilih Katalog AWS Glue Studio Data. 

1.  Di tab **Properti sumber data**, pilih database dan tabel. 

1.  AWS Glue Studiomenampilkan jenis format sebagai Delta Lake dan URL Amazon S3. 

### Menggunakan format Delta Lake di sumber data Amazon S3
<a name="gs-data-lake-formats-delta-target-s3"></a>

 Masukkan nilai atau pilih dari opsi yang tersedia untuk mengkonfigurasi format Delta Lake. 
+  **Jenis Kompresi** - pilih dari salah satu opsi jenis kompresi: Tidak Terkompresi atau Snappy. 
+  **Lokasi Target **Amazon S3 - pilih lokasi target** Amazon S3 dengan mengklik Jelajahi S3.** 
+  **Opsi pembaruan Katalog Data** — memperbarui Katalog Data tidak didukung untuk format ini di editor visual Glue Studio. 
  +  Jangan memutakhirkan Katalog Data: (Default) Pilih opsi ini jika Anda tidak ingin tugas memperbarui Katalog Data, bahkan jika skema berubah atau partisi baru ditambahkan. 
  +  Untuk memperbarui Katalog Data setelah eksekusi AWS Glue pekerjaan, jalankan atau jadwalkan AWS Glue crawler. Untuk informasi selengkapnya, lihat [Cara menentukan opsi konfigurasi untuk penyimpanan data Delta Lake](https://docs.aws.amazon.com/glue/latest/dg/crawler-configuration.html#crawler-delta-lake). 
+  **Tombol partisi** - Pilih kolom mana yang akan digunakan sebagai kunci partisi dalam output. Untuk menambahkan lebih banyak kunci partisi, pilih **Tambahkan kunci partisi**. 
+  Secara opsional, pilih **Opsi tambahan** untuk memasukkan pasangan kunci-nilai. Misalnya, pasangan kunci-nilai dapat berupa: **key: timestampAsOf dan **value**: 2023-02-24** 14:16:18. 

# Menggunakan kerangka Apache Iceberg di AWS Glue Studio
<a name="gs-data-lake-formats-iceberg"></a>

## Menggunakan kerangka Apache Iceberg dalam target data
<a name="gs-data-lake-formats-iceberg-target"></a>

### Menggunakan kerangka Apache Iceberg dalam target data Katalog Data
<a name="gs-data-lake-formats-iceberg-target-catalog"></a>

1.  Dari menu **Target**, pilih Katalog AWS Glue Studio Data. 

1.  Di tab **Properti sumber data**, pilih database dan tabel. 

1.  AWS Glue Studiomenampilkan jenis format sebagai Apache Iceberg dan URL Amazon S3. 

### Menggunakan kerangka Apache Iceberg di target data Amazon S3
<a name="gs-data-lake-formats-iceberg-s3-data-targets"></a>

 Masukkan nilai atau pilih dari opsi yang tersedia untuk mengonfigurasi format Apache Iceberg. 
+  **Format** - pilih **Apache Iceberg dari menu drop-down**. 
+  **Lokasi Target **Amazon S3 - pilih lokasi target** Amazon S3 dengan mengklik Jelajahi S3.** 
+  **Opsi pembaruan Katalog Data** - **Buat tabel di Katalog Data dan pada proses selanjutnya, pertahankan skema yang ada dan tambahkan partisi baru** harus dipilih untuk melanjutkan. Menulis tabel Iceberg baru menggunakan AWS Glue mengharuskan Data Catalog untuk dikonfigurasi sebagai katalog untuk tabel Iceberg. Untuk memperbarui tabel Gunung Es yang ada yang telah terdaftar diData Catalog, pilih Data Catalog sebagai target. 
  +  **Database** — Pilih database dariData Catalog. 
  +  **Nama Tabel** - Masukkan nilai untuk nama tabel Anda. Nama tabel Apache Iceberg harus dalam semua huruf kecil. Gunakan garis bawah jika diperlukan karena spasi tidak diperbolehkan. Misalnya “data\$1lake\$1format\$1tables”. 

![\[Tangkapan layar menunjukkan properti target Data saat menggunakan kerangka Apache Iceberg di target data Amazon S3.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/apache-iceberg-data-target-properties.png)


## Menggunakan kerangka Apache Iceberg di sumber data Amazon S3
<a name="gs-data-lake-formats-iceberg-source"></a>

### Menggunakan kerangka Apache Iceberg di sumber data Katalog Data
<a name="gs-data-lake-formats-iceberg-source-data-catalog"></a>

1.  Dari menu **Sumber**, pilih Katalog AWS Glue Studio Data. 

1.  Di tab **Properti sumber data**, pilih database dan tabel. 

1.  AWS Glue Studiomenampilkan jenis format sebagai Apache Iceberg dan URL Amazon S3. 

![\[Tangkapan layar menunjukkan properti target Data saat menggunakan kerangka Apache Iceberg di sumber data Katalog Data.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/apache-iceberg-data-source-properties.png)


### Menggunakan kerangka Apache Iceberg di sumber data Amazon S3
<a name="gs-data-lake-formats-iceberg-source-s3"></a>

 Apache Iceberg tidak tersedia sebagai opsi data untuk node sumber Amazon S3 di. AWS Glue Studio 

# Menghubungkan ke sumber data menggunakan pekerjaan Visual ETL
<a name="connecting-to-data-chapter"></a>

 Saat membuat pekerjaan baru, Anda dapat menggunakan koneksi untuk terhubung ke data saat mengedit pekerjaan ETL visual. AWS Glue Anda dapat melakukan ini dengan menambahkan node sumber yang menggunakan konektor untuk membaca data, dan target node untuk menentukan lokasi untuk menulis data. 

**Topics**
+ [Memodifikasi properti dari node sumber data](edit-jobs-source.md)
+ [Menggunakan tabel Katalog Data untuk sumber data](edit-jobs-source-catalog-tables.md)
+ [Menggunakan sebuah konektor untuk sumber data](edit-jobs-source-connectors.md)
+ [Menggunakan file di Amazon S3 untuk sumber data](edit-jobs-source-s3-files.md)
+ [Menggunakan sebuah sumber data streaming](edit-jobs-source-streaming.md)
+ [Referensi](edit-jobs-source-references.md)

# Memodifikasi properti dari node sumber data
<a name="edit-jobs-source"></a>

Untuk menentukan properti sumber data, Anda terlebih dahulu harus memilih sebuah simpul sumber data dalam diagram tugas. Kemudian, di sisi kanan di panel detail simpul, Anda harus mengkonfigurasi properti simpul.

**Untuk mengubah properti dari sebuah simpul sumber data**

1. Pergi ke editor visual untuk sebuah tugas baru atau yang sudah disimpan.

1. Pilih simpul sumber data dalam diagram tugas.

1. Pilih tab **Properti simpul** di panel detail simpul, dan kemudian masukkan informasi berikut ini:
   + **Nama**: (Opsional) Masukkan nama yang akan dikaitkan dengan simpul dalam diagram tugas. Nama ini harus unik di antara semua simpul untuk tugas ini.
   + **Jenis Simpul**: Jenis simpul menentukan tindakan yang dilakukan oleh simpul. Dalam daftar opsi untuk **Jenis simpul**, pilih salah satu nilai yang tercantum di bawah judul **Sumber data**.

1. Mengkonfigurasi informasi **Properti sumber data**. Untuk informasi selengkapnya, lihat bagian berikut:
   + [Menggunakan tabel Katalog Data untuk sumber data](edit-jobs-source-catalog-tables.md)
   + [Menggunakan sebuah konektor untuk sumber data](edit-jobs-source-connectors.md)
   + [Menggunakan file di Amazon S3 untuk sumber data](edit-jobs-source-s3-files.md)
   + [Menggunakan sebuah sumber data streaming](edit-jobs-source-streaming.md)

1. (Opsional) Setelah mengkonfigurasi properti simpul dan properti sumber data, Anda dapat melihat skema dari sumber data Anda dengan memilih tab **Skema output** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Jika Anda belum menentukan IAM role pada tab **Detail tugas**, maka Anda akan diminta untuk memasukkan IAM role di sini.

1. (Opsional) Setelah mengkonfigurasi properti simpul dan properti sumber data, Anda dapat melihat pratinjau set data dari sumber data Anda dengan memilih tab **Pratinjau data** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Ada biaya yang terkait dengan penggunaan fitur ini, dan penagihan akan dimulai langsung setelah Anda memberikan IAM role.

# Menggunakan tabel Katalog Data untuk sumber data
<a name="edit-jobs-source-catalog-tables"></a>

Untuk semua sumber data kecuali Amazon S3 dan konektor, tabel harus ada di AWS Glue Data Catalog untuk jenis sumber yang Anda pilih. AWS Gluetidak membuat tabel Katalog Data.

**Untuk mengkonfigurasi simpul sumber data berdasarkan tabel Katalog Data**

1. Pergi ke editor visual untuk sebuah tugas baru atau yang sudah disimpan.

1. Pilih simpul sumber data dalam diagram tugas.

1. Pilih tab **Properti sumber data**, dan kemudian masukkan informasi berikut:
   + **Tipe sumber S3**: (Untuk sumber data Amazon S3 saja) Pilih opsi **Pilih tabel Katalog** untuk menggunakan tabel AWS Glue Data Catalog.
   + **Basis data**: Pilih basis data dalam Katalog Data yang berisi tabel sumber yang ingin Anda gunakan untuk tugas ini. Anda dapat menggunakan bidang pencarian untuk mencari basis data berdasarkan namanya.
   + **Tabel**: Pilih tabel yang telah dikaitkan dengan sumber data dari daftar. Tabel ini harus sudah ada dalam AWS Glue Data Catalog. Anda dapat menggunakan bidang pencarian untuk mencari tabel berdasarkan namanya.
   + **Predikat partisi**: (Untuk sumber data Amazon S3 saja) Masukkan ekspresi Boolean berdasarkan Spark SQL yang hanya mencakup kolom pemartisian. Misalnya: `"(year=='2020' and month=='04')"`
   + **Direktori sementara**: (Untuk sumber data Amazon Redshift saja) Masukkan path untuk lokasi direktori kerja di Amazon S3 di mana tugas ETL Anda dapat menulis hasil antara sementara.
   + **Peran yang dikaitkan dengan klaster**: (Untuk sumber data Amazon Redshift saja) Masukkan sebuah peran untuk tugas ETL Anda untuk menggunakan yang berisi izin untuk klaster Amazon Redshift . Lihat informasi yang lebih lengkap di [Izin sumber data dan target data](getting-started-min-privs-job.md#getting-started-min-privs-data).

# Menggunakan sebuah konektor untuk sumber data
<a name="edit-jobs-source-connectors"></a>

Jika Anda memilih sebuah konektor untuk **Jenis Simpul**, ikuti petunjuk di [Menulis tugas dengan konektor kustom](job-authoring-custom-connectors.md) untuk menyelesaikan konfigurasi properti sumber data.

# Menggunakan file di Amazon S3 untuk sumber data
<a name="edit-jobs-source-s3-files"></a>

Jika Anda memilih Amazon S3 sebagai sumber data Anda, maka Anda dapat memilih salah satunya:
+ Basis data dan tabel Katalog Data.
+ Sebuah bucket, folder, atau file di Amazon S3.

Jika Anda menggunakan bucket Amazon S3 sebagai sumber data, AWS Glue mendeteksi skema data di lokasi yang ditentukan dari salah satu file, atau dengan menggunakan file yang Anda tentukan sebagai file sampel. Deteksi skema terjadi ketika Anda menggunakan tombol **Simpulkan skema**. Jika anda mengganti lokasi Amazon S3 atau file sampel, maka anda mesti memilih **Simpulkan skema** lagi untuk melakukan deteksi skema menggunakan informasi baru.

**Untuk mengkonfigurasi sebuah simpul sumber data yang membaca langsung dari file di Amazon S3**

1. Pergi ke editor visual untuk sebuah tugas baru atau yang sudah disimpan.

1. Pilih simpul sumber data dalam diagram tugas untuk sumber Amazon S3.

1. Pilih tab **Properti sumber data**, dan kemudian masukkan informasi berikut:
   + **Tipe sumber S3**: (Untuk sumber data Amazon S3 saja) Pilih opsi **Lokasi S3**.
   + **URL S3**: Masukkan path ke bucket Amazon S3, folder, atau file yang berisi data untuk tugas Anda. Anda dapat memilih **Jelajahi S3** untuk memilih path dari lokasi yang tersedia ke akun Anda. 
   + **Rekursif**: Pilih opsi ini jika Anda AWS Glue ingin membaca data dari file di folder anak di lokasi S3. 

     Jika folder anak berisi data yang dipartisi, AWS Glue tidak akan menambahkan informasi partisi apa pun yang ditentukan dalam nama folder ke Katalog Data. Sebagai contoh, pertimbangkan folder di Amazon S3:

     ```
     S3://sales/year=2019/month=Jan/day=1
     S3://sales/year=2019/month=Jan/day=2
     ```

     Jika Anda memilih **Recursive** dan memilih `sales` folder sebagai lokasi S3 Anda, kemudian AWS Glue membaca data di semua folder anak, tetapi tidak membuat partisi untuk tahun, bulan atau hari.
   + **Format data**: Pilih format data yang digunakan saat menyimpan data. Anda dapat memilih JSON, CSV, atau Parquet. Nilai yang Anda pilih memberitahu tugas AWS Glue bagaimana cara membaca data dari file sumber.
**catatan**  
Jika Anda tidak memilih format yang benar untuk data Anda, AWS Glue mungkin menyimpulkan skema dengan benar, tetapi pekerjaan tidak akan dapat mengurai data dengan benar dari file sumber.

     Anda dapat memasukkan opsi konfigurasi tambahan, tergantung pada format data yang Anda pilih. 
     + **JSON (Notasi** JavaScript Objek)
       + **JsonPath**: Masukkan jalur JSON yang menunjuk ke objek yang digunakan untuk mendefinisikan skema tabel. Ekspresi jalur JSON selalu mengacu pada struktur JSON dengan cara yang sama seperti XPath ekspresi yang digunakan dalam kombinasi dengan dokumen XHTML. "objek anggota akar" di path JSON selalu disebut sebagai `$`, bahkan jika itu adalah sebuah objek atau array. Path JSON dapat ditulis dalam notasi dot atau notasi kurung.

         Untuk informasi lebih lanjut tentang jalur JSON, lihat [JsonPath](https://github.com/json-path/JsonPath)di situs GitHub web.
       + **Catatan dalam file sumber dapat mencapai beberapa baris**: Pilih opsi ini jika satu catatan dapat mencapai panjang hingga beberapa baris dalam file CSV.
     + **CSV** (nilai yang dipisahkan koma)
       + **Pembatas**: Masukkan sebuah karakter untuk menunjukkan apa yang memisahkan masing-masing entri kolom dalam baris, misalnya, `;` atau `,`.
       + **Karakter escape**: Masukkan karakter yang digunakan sebagai karakter escape. Karakter ini menunjukkan bahwa karakter yang terletak tepat setelah karakter escape harus diambil secara harfiah, dan tidak boleh ditafsirkan sebagai pembatas.
       + **Karakter kutipan**: Masukkan karakter yang digunakan untuk mengelompokkan string terpisah menjadi nilai tunggal. Misalnya, Anda akan memilih **Kutipan ganda (")** jika Anda memiliki nilai-nilai seperti `"This is a single value"` di file CSV Anda.
       + **Catatan dalam file sumber dapat mencapai beberapa baris**: Pilih opsi ini jika satu catatan dapat mencapai panjang hingga beberapa baris dalam file CSV.
       + **Baris pertama dari file sumber berisi header kolom**: Pilih opsi ini jika baris pertama dalam file CSV berisi header kolom, bukan data.
     + **Parquet** (Penyimpanan kolumnar Apache Parquet)

       Tidak ada pengaturan tambahan untuk mengkonfigurasi data yang disimpan dalam format Parquet.
     + **Apache Hudi**

       Tidak ada pengaturan tambahan untuk mengkonfigurasi data yang disimpan dalam format Apache Hudi.
     + **Danau Delta**

       Tidak ada pengaturan tambahan untuk mengkonfigurasi data yang disimpan dalam format Delta Lake.
     + **Excel**

       Tidak ada pengaturan tambahan untuk mengkonfigurasi data yang disimpan dalam format Excel.
   + **Predikat partisi**: Untuk partisi data yang dibaca dari sumber data, masukkan ekspresi Boolean berdasarkan Spark SQL yang menyertakan hanya kolom pemartisian saja. Misalnya: `"(year=='2020' and month=='04')"`
   + **Opsi lanjutan**: Perluas bagian ini jika Anda AWS Glue ingin mendeteksi skema data Anda berdasarkan file tertentu. 
     + **Inferensi skema**: Pilih opsi **Pilih file sampel dari S3** jika Anda ingin menggunakan file tertentu alih-alih membiarkan AWS Glue memilih file. Inferensi skema tidak tersedia untuk sumber Excel.
     + **File pengambilan sampel otomatis**: Masukkan path ke file di Amazon S3 yang akan digunakan untuk menyimpulkan skema.

     Jika Anda mengedit sebuah simpul sumber data dan mengubah file contoh yang dipilih, pilih **Muat ulang skema** untuk mendeteksi skema dengan menggunakan file contoh yang baru.

1. Pilih tombol **Simpulkan skema** untuk mendeteksi skema dari file sumber di Amazon S3. Jika anda mengganti lokasi Amazon S3 atau file sampel, maka anda mesti memilih **Simpulkan skema** lagi untuk menyimpulkan skema menggunakan informasi baru.

# Menggunakan sebuah sumber data streaming
<a name="edit-jobs-source-streaming"></a>

Anda dapat membuat tugas extract, transform, and load (ETL) yang berjalan terus menerus dan mengkonsumsi data dari sumber streaming di Amazon Kinesis Data Streams, Apache Kafka, dan Amazon Managed Streaming for Apache Kafka (Amazon MSK).

**Untuk mengkonfigurasi properti untuk sebuah sumber data streaming**

1. Pergi ke editor grafik visual untuk sebuah tugas baru atau yang sudah disimpan.

1. Pilih simpul sumber data dalam grafik untuk Kafka atau Kinesis Data Streams.

1. Pilih tab **Properti sumber data**, dan kemudian masukkan informasi berikut:

------
#### [ Kinesis ]
   + **Jenis sumber Kinesis**: Pilih opsi **Streaming detail** untuk menggunakan akses langsung ke sumber streaming atau pilih **tabel Katalog Data** untuk menggunakan informasi yang disimpan di sana.

     Jika Anda memilih **Detail Streaming**, tentukan informasi tambahan berikut.
     + **Lokasi aliran data**: Pilih apakah aliran dikaitkan dengan pengguna saat ini, atau jika dikaitkan dengan pengguna yang berbeda.
     + **Wilayah**: Pilih Wilayah AWS tempat aliran ada. Informasi ini digunakan untuk membangun ARN untuk mengakses aliran data.
     + **Streaming ARN**: Masukkan Nama Sumber Daya Amazon (ARN) untuk aliran data Kinesis. Jika aliran terletak di dalam akun saat ini, Anda dapat memilih nama aliran dari daftar drop-down. Anda dapat menggunakan bidang pencarian untuk mencari aliran data dengan namanya atau ARN.
     + **Format data**: Pilih format yang digunakan oleh aliran data dari daftar. 

       AWS Gluesecara otomatis mendeteksi skema dari data streaming.

     Jika Anda memilih **tabel Katalog Data**, tentukan informasi tambahan berikut.
     + **Database**: (Opsional) Pilih database dalam Katalog AWS Glue Data yang berisi tabel yang terkait dengan sumber data streaming Anda. Anda dapat menggunakan bidang pencarian untuk mencari basis data berdasarkan namanya. 
     + **Tabel**: (Opsional) Pilih tabel yang telah dikaitkan dengan sumber data dari daftar. Tabel ini harus sudah ada di Katalog AWS Glue Data. Anda dapat menggunakan bidang pencarian untuk mencari tabel berdasarkan namanya. 
     + **Deteksi skema**: Pilih opsi ini untuk AWS Glue mendeteksi skema dari data streaming, daripada menggunakan informasi skema dalam tabel Katalog Data. Opsi ini diaktifkan secara otomatis jika Anda memilih opsi **Detail Stream**.
   + **Posisi awal**: Secara default, pekerjaan ETL menggunakan opsi **Paling Awal**, yang berarti membaca data yang dimulai dengan catatan tertua yang tersedia di aliran. Sebagai gantinya, Anda dapat memilih **Terbaru**, yang menunjukkan pekerjaan ETL harus mulai membaca tepat setelah catatan terbaru dalam aliran.
   + **Ukuran jendela**: Secara default, tugas ETL Anda memproses dan menulis data dalam jendela 100-detik. Hal ini memungkinkan data diproses secara efisien dan memungkinkan agregasi untuk dilakukan pada data yang datang lebih lambat dari yang diharapkan. Anda dapat mengubah ukuran jendela ini untuk meningkatkan ketepatan waktu atau akurasi agregasi. 

     AWS Glue pekerjaan streaming menggunakan pos pemeriksaan daripada bookmark pekerjaan untuk melacak data yang telah dibaca. 
   + **Opsi koneksi**: Perluas bagian ini untuk menambahkan pasangan nilai kunci untuk menentukan opsi koneksi tambahan. *Untuk informasi tentang opsi apa yang dapat Anda tentukan di sini, lihat [“ConnectionType”: “kinesis”](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html#aws-glue-programming-etl-connect-kinesis) di Panduan Pengembang.AWS Glue *

------
#### [ Kafka ]
   + **Sumber Apache Kafka**: Pilih opsi **Streaming detail** untuk menggunakan akses langsung ke sumber streaming atau pilih **tabel Katalog Data** untuk menggunakan informasi yang disimpan di sana sebagai gantinya.

     Jika Anda memilih **tabel Katalog Data**, tentukan informasi tambahan berikut.
     + **Database**: (Opsional) Pilih database dalam Katalog AWS Glue Data yang berisi tabel yang terkait dengan sumber data streaming Anda. Anda dapat menggunakan bidang pencarian untuk mencari basis data berdasarkan namanya. 
     + **Tabel**: (Opsional) Pilih tabel yang telah dikaitkan dengan sumber data dari daftar. Tabel ini harus sudah ada di Katalog AWS Glue Data. Anda dapat menggunakan bidang pencarian untuk mencari tabel berdasarkan namanya. 
     + **Deteksi skema**: Pilih opsi ini untuk AWS Glue mendeteksi skema dari data streaming, daripada menyimpan informasi skema dalam tabel Katalog Data. Opsi ini diaktifkan secara otomatis jika Anda memilih opsi **Detail Stream**.

     Jika Anda memilih **Detail Streaming**, tentukan informasi tambahan berikut.
     + **Nama koneksi**: Pilih AWS Glue koneksi yang berisi informasi akses dan otentikasi untuk aliran data Kafka. Anda harus menggunakan koneksi dengan sumber data streaming Kafka. Jika koneksi tidak ada, Anda dapat menggunakan AWS Glue konsol untuk membuat koneksi untuk aliran data Kafka Anda.
     + **Nama topik**: Masukkan nama topik yang akan dibaca.
     + **Format data**: Pilih format yang akan digunakan saat membaca data dari aliran acara Kafka. 
   + **Posisi awal**: Secara default, pekerjaan ETL menggunakan opsi **Paling Awal**, yang berarti membaca data yang dimulai dengan catatan tertua yang tersedia di aliran. Sebagai gantinya, Anda dapat memilih **Terbaru**, yang menunjukkan pekerjaan ETL harus mulai membaca tepat setelah catatan terbaru dalam aliran.
   + **Ukuran jendela**: Secara default, tugas ETL Anda memproses dan menulis data dalam jendela 100-detik. Hal ini memungkinkan data diproses secara efisien dan memungkinkan agregasi untuk dilakukan pada data yang datang lebih lambat dari yang diharapkan. Anda dapat mengubah ukuran jendela ini untuk meningkatkan ketepatan waktu atau akurasi agregasi. 

     Tugas streaming AWS Glue menggunakan pos pemeriksaan, bukan bookmark tugas, untuk melacak data yang telah dibaca. 
   + **Opsi koneksi**: Perluas bagian ini untuk menambahkan pasangan nilai kunci untuk menentukan opsi koneksi tambahan. *Untuk informasi tentang opsi apa yang dapat Anda tentukan di sini, lihat [“ConnectionType”: “kafka”](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html#aws-glue-programming-etl-connect-kafka) di Panduan Pengembang.AWS Glue *

------

**catatan**  
Pratinjau data saat ini tidak didukung untuk sumber data streaming.

# Referensi
<a name="edit-jobs-source-references"></a>

 **Praktik Terbaik** 
+  [Buat pipeline layanan ETL untuk memuat data secara bertahap dari Amazon S3 ke penggunaan Amazon RedshiftAWS Glue](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/build-an-etl-service-pipeline-to-load-data-incrementally-from-amazon-s3-to-amazon-redshift-using-aws-glue.html) 

 **Pemrograman ETL** 
+  [Jenis dan opsi koneksi untuk ETL di AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-connections.html) 
+  [Nilai ConnectionType JDBC](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html#aws-glue-programming-etl-connect-jdbc) 
+  [Opsi lanjutan untuk memindahkan data ke dan dari Amazon Redshift](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-redshift.html) 

# Mengkonfigurasi simpul target data
<a name="data-target-nodes"></a>

Target data adalah tempat di mana tugas menulis data yang sudah ditransformasi. 

## Gambaran umum pilihan target data
<a name="edit-jobs-target-overview"></a>

Target data Anda (juga disebut *sink data*) dapat berupa:
+ **S3** — Tugas menulis data dalam sebuah file di lokasi Amazon S3 yang Anda pilih dan dalam format yang Anda tentukan.

  Jika Anda mengkonfigurasi kolom partisi untuk target data, maka tugas akan menulis set data ke Amazon S3 ke direktori berdasarkan kunci partisi.
+ **AWS Glue Data Catalog** — Tugas menggunakan informasi yang dikaitkan dengan tabel di Katalog Data untuk menulis data output ke sebuah lokasi target. 

  Anda dapat membuat tabel secara manual atau dengan crawler. Anda juga dapat menggunakan templat AWS CloudFormation untuk membuat tabel dalam Katalog Data. 
+ Konektor — Sebuah konektor adalah bagian dari kode yang memudahkan komunikasi antara penyimpanan data Anda dan AWS Glue. Tugas menggunakan konektor dan koneksi terkait untuk menulis data output ke sebuah lokasi target. Anda dapat berlangganan konektor yang ditawarkan di AWS Marketplace, atau Anda dapat membuat konektor khusus Anda sendiri. Untuk informasi selengkapnya, lihat [Menambahkan konektor ke AWS Glue Studio](creating-custom-connectors.md#creating-connectors)

Anda dapat memilih untuk memperbarui Katalog Data ketika tugas Anda menulis ke sebuah target data Amazon S3. Alih-alih mengharuskan sebuah crawler untuk memperbarui Katalog Data ketika skema atau partisi berubah, opsi ini memudahkan untuk menjaga tabel Anda selalu diperbarui. Opsi ini menyederhanakan proses membuat data Anda tersedia untuk analitik dengan secara opsional menambahkan tabel baru ke Katalog Data, memperbarui partisi tabel, dan memperbarui skema tabel Anda secara langsung dari tugas.

## Mengedit simpul target data
<a name="edit-jobs-target"></a>

Target data adalah tempat di mana tugas menulis data yang sudah ditransformasi. 

**Untuk menambah atau mengkonfigurasi sebuah simpul target data dalam diagram tugas Anda**

1. (Opsional) Jika Anda perlu menambahkan sebuah simpul target, pilih **Target** di bilah alat yang ada di bagian atas editor visual, lalu pilih salah satu, **S3** atau **Katalog Data Glue**. 
   + Jika Anda memilih **S3** untuk target, maka tugas akan menulis set data ke satu atau beberapa file di lokasi Amazon S3 yang Anda tentukan.
   + Jika Anda memilih **AWS Glue Data Catalog** untuk target, maka tugas akan menulis ke lokasi yang dijelaskan oleh tabel yang dipilih dari Katalog Data.

1. Pilih sebuah simpul target data dalam diagram tugas. Bila Anda memilih sebuah simpul, maka panel detail simpul akan muncul di sisi kanan halaman.

1. Pilih tab **Properti simpul**, dan kemudian masukkan informasi berikut:
   + **Nama**: Masukkan nama yang akan dikaitkan dengan simpul dalam diagram tugas.
   + **Jenis Simpul**: Sebuah nilai harus sudah dipilih, tetapi Anda dapat mengubahnya sesuai kebutuhan.
   + **Induk simpul**: Induk simpul adalah simpul dalam diagram tugas yang menyediakan output data yang ingin Anda tulis ke lokasi target. Untuk diagram tugas yang sudah diisi sebelumnya, simpul target harus sudah memiliki simpul induk yang dipilih. Jika tidak ada simpul induk yang ditampilkan, maka pilih simpul induk dari daftar. 

     Sebuah simpul target memiliki satu simpul induk tunggal.

1. Mengkonfigurasi informasi **Properti target data**. Untuk informasi selengkapnya, lihat bagian berikut:
   + [Menggunakan Amazon S3 untuk target data](#edit-job-target-S3)
   + [Menggunakan tabel Katalog Data untuk target data](#edit-job-target-catalog)
   + [Menggunakan sebuah konektor untuk target data](#edit-job-target-connector)

1. (Opsional) Setelah mengkonfigurasi properti simpul target data, Anda dapat melihat skema output untuk data Anda dengan memilih tab **Skema output** di panel detail simpul. Pertama kali Anda memilih tab ini untuk setiap simpul dalam tugas Anda, Anda akan diminta untuk memberikan IAM role untuk mengakses data. Jika Anda belum menentukan IAM role pada tab **Detail tugas**, maka Anda akan diminta untuk memasukkan IAM role di sini.

### Menggunakan Amazon S3 untuk target data
<a name="edit-job-target-S3"></a>

Untuk semua sumber data kecuali Amazon S3 dan konektor, tabel harus ada di AWS Glue Data Catalog untuk jenis sumber yang Anda pilih. AWS Glue Studiotidak membuat tabel Katalog Data.

**Untuk mengkonfigurasi simpul target data yang menulis ke Amazon S3**

1. Pergi ke editor visual untuk sebuah tugas baru atau yang sudah disimpan.

1. Pilih simpul sumber data dalam diagram tugas.

1. Pilih tab **Properti sumber data**, dan kemudian masukkan informasi berikut:
   + **Format**: Pilih format dari daftar. Jenis format yang tersedia untuk hasil data adalah:
     + **JSON: Notasi** JavaScript Objek. 
     + **CSV**: Nilai yang dipisahkan koma. 
     + **Avro**: Biner JSON Apache Avro. 
     + **Parket**: Jenis penulis parket kustom yang dioptimalkan `DynamicFrames` sebagai format data. Alih-alih mengharuskan skema yang sudah dikomputasi sebelumnya untuk data, ia melakukan komputasi dan modifikasi pada skema secara dinamis.
     + **ORC**: Format Optimized Row Columnar (ORC) Apache. 
     + **Apache Hudi**: Kerangka penyimpanan data lake sumber terbuka yang menyederhanakan pemrosesan data tambahan dan pengembangan pipa data. 
     + **Apache Iceberg**: Format tabel berkinerja tinggi yang berfungsi seperti tabel SQL. 
     + **Delta Lake**: Kerangka penyimpanan data lake sumber terbuka yang membantu Anda melakukan transaksi ACID, menskalakan penanganan metadata, dan menyatukan streaming dan pemrosesan data batch. 
     + **XML:Bahasa** Markup yang Dapat Diperluas (XHTML). 
     + **Tableau Hyper**: Teknologi mesin data dalam memori Tableau.

     Untuk mempelajari lebih lanjut tentang opsi format ini, lihat [Format Pilihan untuk Input dan Output ETL di AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html) dalam *Panduan Developer AWS Glue *.
   + **Jenis Kompresi**: Anda dapat memilih untuk mengompres data secara opsional menggunakan jenis file`CSV`,`JSON`, atau`Parquet`. Default-nya adalah tidak dikompresi, atau **Tidak ada**.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/data-target-nodes.html)
   + **Lokasi Target S3**: Bucket Amazon S3 dan lokasi untuk output data. Anda dapat memilih tombol **Jelajahi S3** untuk melihat bucket Amazon S3 yang Anda miliki aksesnya dan memilih salah satu sebagai tujuan target. 
   + **Opsi pembaruan katalog data**
     + **Jangan memutakhirkan Katalog Data**: (Default) Pilih opsi ini jika Anda tidak ingin tugas memperbarui Katalog Data, bahkan jika skema berubah atau partisi baru ditambahkan.
     + **Membuat tabel di Katalog Data dan eksekusi berikutnya, memperbarui skema dan menambahkan partisi baru**: Jika Anda memilih opsi ini, maka tugas akan menciptakan tabel di Katalog Data pada eksekusi pertama tugas. Pada eksekusi tugas berikutnya, tugas memutakhirkan tabel Katalog Data jika skema berubah atau partisi baru ditambahkan.

       Anda juga harus memilih sebuah basis data dari Katalog Data dan memasukkan nama tabel.
     + **Membuat tabel di Katalog Data dan eksekusi berikutnya, mempertahankan skema yang ada dan menambahkan partisi baru**: Jika Anda memilih opsi ini, maka tugas akan menciptakan tabel di Katalog Data pada eksekusi pertama tugas. Pada eksekusi tugas berikutnya, tugas memutakhirkan tabel Katalog Data hanya jika partisi baru ditambahkan.

       Anda juga harus memilih sebuah basis data dari Katalog Data dan memasukkan nama tabel.
   + **Partisi File**: Pilih jenis partisi yang ingin Anda simpan hasilnya.
     + **Autogenerate file (Disarankan)**: Ini adalah nilai default untuk jumlah file yang dihasilkan.
     + **Beberapa output file**: Tentukan jumlah output file yang Anda inginkan. Untuk kinerja optimal, gunakan jumlah nilai file yang dihasilkan secara otomatis default.
   + **Kunci partisi**: Pilih kolom mana yang digunakan sebagai kunci partisi dalam output. Untuk menambahkan lebih banyak kunci partisi, pilih **Tambahkan kunci partisi**.

   Partisi file tidak didukung untuk Tableau Hyper sebagai format target.

### Menggunakan tabel Katalog Data untuk target data
<a name="edit-job-target-catalog"></a>

Untuk semua sumber data kecuali Amazon S3 dan konektor, tabel harus ada di AWS Glue Data Catalog untuk jenis target yang Anda pilih. AWS Glue Studiotidak membuat tabel Katalog Data.

**Untuk mengkonfigurasi properti data untuk target yang menggunakan tabel Katalog Data**

1. Pergi ke editor visual untuk sebuah tugas baru atau yang sudah disimpan.

1. Pilih sebuah simpul target data dalam diagram tugas.

1. Pilih tab **Properti target data**, dan kemudian masukkan informasi berikut:
   + **Basis data**: Pilih basis data yang berisi tabel yang ingin Anda gunakan sebagai target dari daftar. Basis data ini harus sudah ada dalam Katalog Data.
   + **Tabel**: Pilih tabel yang mendefinisikan skema data output Anda dari daftar. Tabel ini sudah harus ada dalam Katalog Data.

     Sebuah tabel dalam Katalog Data terdiri dari nama-nama kolom, definisi tipe data, informasi partisi, dan metadata lainnya tentang set data target. Tugas Anda menulis ke sebuah lokasi yang dijelaskan oleh tabel ini dalam Katalog Data.

     Untuk informasi selengkapnya tentang membuat tabel dalam Katalog Data, lihat [Mendefinisikan Tabel dalam Katalog Data](https://docs.aws.amazon.com/glue/latest/dg/tables-described.html) dalam *Panduan Developer AWS Glue *.
   + **Opsi pembaruan katalog data**
     + **Jangan ubah definisi tabel**: (Default) Pilih opsi ini jika Anda tidak ingin tugas memperbarui Katalog Data, bahkan jika skema berubah, atau partisi baru ditambahkan.
     + **Memperbarui skema dan menambahkan partisi baru**: Jika Anda memilih opsi ini, maka tugas akan memperbarui tabel Katalog Data jika skema berubah atau partisi baru ditambahkan.
     + **Pertahankan skema yang ada dan tambahkan partisi baru**: Jika Anda memilih opsi ini, maka tugas akan memperbarui tabel Katalog Data hanya untuk menambahkan partisi baru.
     + **Kunci partisi**: Pilih kolom mana yang digunakan sebagai kunci partisi dalam output. Untuk menambahkan lebih banyak kunci partisi, pilih **Tambahkan kunci partisi**.

### Menggunakan sebuah konektor untuk target data
<a name="edit-job-target-connector"></a>

Jika Anda memilih sebuah konektor untuk **Jenis Simpul**, ikuti petunjuk di [Menulis tugas dengan konektor kustom](job-authoring-custom-connectors.md) untuk menyelesaikan konfigurasi properti target data.

# Mengedit atau mengunggah sebuah skrip tugas
<a name="edit-nodes-script"></a>

Gunakan editor AWS Glue Studio visual untuk mengedit skrip pekerjaan atau mengunggah skrip Anda sendiri.

Anda dapat menggunakan editor visual untuk mengedit node pekerjaan hanya jika pekerjaan dibuat denganAWS Glue Studio. Jika pekerjaan dibuat menggunakan AWS Glue konsol, melalui perintah API, atau dengan antarmuka baris perintah (CLI), Anda dapat menggunakan editor skrip AWS Glue Studio untuk mengedit skrip pekerjaan, parameter, dan jadwal. Anda juga dapat mengedit skrip untuk pekerjaan yang dibuat AWS Glue Studio dengan mengonversi pekerjaan ke mode khusus skrip.

**Untuk mengedit skrip tugas atau mengunggah skrip Anda sendiri**

1. Jika membuat pekerjaan baru, pada halaman **Jobs**, pilih opsi **editor skrip Spark** untuk membuat pekerjaan Spark atau pilih **editor skrip Python Shell** untuk membuat pekerjaan shell Python. Anda dapat menulis skrip baru, atau mengunggah skrip yang ada. Jika Anda memilih **editor skrip Spark**, Anda dapat menulis atau mengunggah skrip Scala atau Python. Jika Anda memilih **editor skrip Python Shell**, Anda hanya dapat menulis atau mengunggah skrip Python.

   Setelah memilih opsi untuk membuat pekerjaan baru, di bagian **Opsi** yang muncul, Anda dapat memilih untuk memulai dengan skrip pemula (**Buat skrip baru dengan kode boilerplate**), atau Anda dapat mengunggah file lokal untuk digunakan sebagai skrip pekerjaan.

   Jika Anda memilih **editor skrip Spark**, Anda dapat mengunggah file skrip Python atau Scala. Skrip Scala harus memiliki ekstensi file `.scala`. Skrip Python harus diakui sebagai tipe file Python. Jika Anda memilih **editor skrip Python Shell**, Anda hanya dapat mengunggah file skrip Python.

   Setelah selesai membuat pilihan, pilih **Buat** untuk membuat pekerjaan dan buka editor visual.

1. Pergi ke editor tugas visual untuk tugas baru atau yang sudah disimpan, dan kemudian pilih tab **Skrip**.

1. Jika Anda tidak membuat pekerjaan baru menggunakan salah satu opsi editor skrip, dan Anda belum pernah mengedit skrip untuk pekerjaan yang ada, tab **Script** menampilkan judul **Script (Terkunci)**. Ini artinya editor skrip dalam mode baca-saja. Pilih **edit skrip** untuk membuka kunci skrip untuk mengedit.

   Untuk membuat skrip dapat diedit, AWS Glue Studio konversi pekerjaan Anda dari pekerjaan visual ke pekerjaan skrip saja. Jika Anda membuka kunci skrip untuk diedit, Anda tidak dapat menggunakan editor visual lagi untuk pekerjaan ini setelah Anda menyimpannya.

   Di jendela konfirmasi, pilih **Konfirmasi** untuk melanjutkan atau **Batalkan** untuk menjaga agar tugas tetap tersedia untuk pengeditan visual.

   Jika Anda memilih **Konfirmasi**, tab **Visual** tidak lagi muncul di editor. Anda dapat menggunakan AWS Glue Studio untuk memodifikasi skrip menggunakan editor skrip, memodifikasi detail pekerjaan atau jadwal, atau melihat pekerjaan berjalan.
**catatan**  
Sampai Anda menyimpan pekerjaan, konversi ke pekerjaan skrip saja tidak permanen. Jika Anda menyegarkan halaman web konsol, atau menutup pekerjaan sebelum menyimpannya dan membukanya kembali di editor visual, Anda masih dapat mengedit masing-masing node di editor visual.

1. Mengedit skrip sesuai kebutuhan. 

   Setelah selesai mengedit skrip, pilih **Simpan** untuk menyimpan tugas dan mengubah tugas secara permanen dari visual menjadi skrip-saja.

1. (Opsional) Anda dapat mengunduh skrip dari AWS Glue Studio konsol dengan memilih tombol **Unduh** pada tab **Skrip**. Bila Anda memilih tombol ini, jendela peramban baru akan terbuka, menampilkan skrip dari lokasinya di Amazon S3. Parameter **Nama file skrip** dan **Path skrip** dalam tab **Detail tugas** dari tugas tersebut menentukan nama dan lokasi file skrip di Amazon S3.   
![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/job-details-script-location-params-screenshot.png)

   Ketika Anda menyimpan tugas, AWS Glue menyimpan skrip tugas di lokasi yang ditentukan oleh bidang ini. Jika Anda memodifikasi file skrip di lokasi ini dalam Amazon S3, AWS Glue Studio akan memuat skrip yang dimodifikasi saat berikutnya Anda mengedit pekerjaan.

## Membuat dan mengedit skrip Scala di AWS Glue Studio
<a name="edit-job-scala-script"></a>

Ketika Anda memilih editor skrip untuk membuat pekerjaan, secara default, bahasa pemrograman pekerjaan diatur ke`Python 3`. Jika Anda memilih untuk menulis skrip baru daripada mengunggah skrip, AWS Glue Studio mulailah skrip baru dengan teks boilerplate yang ditulis dengan Python. Jika Anda ingin menulis skrip Scala sebagai gantinya, Anda harus terlebih dahulu mengkonfigurasi editor skrip untuk menggunakan Scala.

**catatan**  
Jika Anda memilih Scala sebagai bahasa pemrograman untuk pekerjaan itu dan menggunakan editor visual untuk merancang pekerjaan Anda, skrip pekerjaan yang dihasilkan ditulis dalam Scala, dan tidak diperlukan tindakan lebih lanjut.

**Untuk menulis skrip Scala baru di AWS Glue Studio**

1. Buat pekerjaan baru dengan memilih opsi **editor skrip Spark**.

1. Di bawah **Opsi**, pilih **Buat skrip baru dengan kode boilerplate**.

1. Pilih tab **Job details** dan atur **Language** ke `Scala` (bukan`Python 3`).
**catatan**  
Properti **Type** untuk pekerjaan secara otomatis diatur ke `Spark` ketika Anda memilih opsi **editor skrip Spark** untuk membuat pekerjaan. 

1. Pilih tab **Script**.

1. Hapus teks boilerplate Python. Anda dapat menggantinya dengan teks boilerplate Scala berikut.

   ```
   import com.amazonaws.services.glue.{DynamicRecord, GlueContext}
   import org.apache.spark.SparkContext
   import com.amazonaws.services.glue.util.JsonOptions
   import com.amazonaws.services.glue.util.GlueArgParser
   import com.amazonaws.services.glue.util.Job
   
   object MyScript {
     def main(args: Array[String]): Unit = {
       val sc: SparkContext = new SparkContext()
       val glueContext: GlueContext = new GlueContext(sc)
   
       }
   }
   ```

1. Tulis skrip pekerjaan Scala Anda di editor. Tambahkan `import` pernyataan tambahan sesuai kebutuhan.

## Membuat dan mengedit pekerjaan shell Python di AWS Glue Studio
<a name="edit-job-python-shell"></a>

Ketika Anda memilih editor skrip shell Python untuk membuat pekerjaan, Anda dapat mengunggah skrip Python yang ada, atau menulis yang baru. Jika Anda memilih untuk menulis skrip baru, kode boilerplate ditambahkan ke skrip pekerjaan Python baru. 

**Untuk membuat pekerjaan shell Python baru**  
Lihat instruksi di[Memulai pekerjaan di AWS Glue Studio](edit-nodes-chapter.md#create-jobs-start).

Properti pekerjaan yang didukung untuk pekerjaan shell Python tidak sama dengan yang didukung untuk pekerjaan Spark. Daftar berikut menjelaskan perubahan parameter pekerjaan yang tersedia untuk pekerjaan shell Python pada tab **Job details**.
+ Properti **Type** untuk pekerjaan secara otomatis diatur ke `Python Shell` dan tidak dapat diubah. 
+ Alih-alih **Bahasa**, ada properti **versi Python** untuk pekerjaan itu. Saat ini, pekerjaan shell Python dibuat menggunakan AWS Glue Studio Python 3.6.
+ Properti **versi Glue** tidak tersedia, karena tidak berlaku untuk pekerjaan shell Python.
+ Alih-alih **jenis Pekerja** dan **Jumlah pekerja**, properti **unit pemrosesan Data** ditampilkan sebagai gantinya. Properti pekerjaan ini menentukan berapa banyak unit pemrosesan data (DPUs) yang dikonsumsi oleh shell Python saat menjalankan pekerjaan.
+ Properti **bookmark Job** tidak tersedia, karena tidak didukung untuk pekerjaan shell Python.
+ Di bawah **properti Advanced**, properti berikut tidak tersedia untuk pekerjaan shell Python.
  + **Metrik Job**
  + **Pencatatan terus menerus**
  + **Jalur log UI Spark** **dan Spark UI**
  + **Jalur stoples dependen**, di bawah judul **Perpustakaan**

# Mengubah simpul induk untuk sebuah simpul dalam diagram tugas
<a name="edit-job-change-parents"></a>

Anda dapat mengubah induk simpul untuk memindahkan simpul dalam diagram tugas atau untuk mengubah sumber data untuk sebuah simpul.

**Untuk mengubah simpul induk**

1. Pilih simpul dalam diagram tugas yang ingin Anda ubah.

1. Pada panel detail simpul, pada tab **Properti simpul**, pada judul **Induk simpul**, hapus induk simpul saat ini untuk simpul tersebut.

1. Pilih simpul induk baru dari daftar.

1. Memodifikasi properti lain dari simpul sesuai keperluan untuk mencocokkan simpul induk yang baru dipilih.

Jika Anda memodifikasi sebuah simpul secara tidak sengaja, Anda dapat menggunakan tombol **Batalkan** pada toolbar untuk membalikkan tindakan.

# Menghapus simpul dari diagram tugas
<a name="edit-job-delete-node"></a>

 Saat bekerja dengan pekerjaan Visual ETL, Anda dapat menghapus node dari kanvas tanpa harus menambahkan kembali atau merestrukturisasi node apa pun yang terhubung ke node yang dihapus. 

 Pada contoh di bawah ini, Anda dapat mengikuti dengan memilih **pekerjaan ETL > Visual ETL**, lalu di **Contoh pekerjaan, memilih pekerjaan** **Visual ETL untuk bergabung dengan beberapa** sumber. Pilih **Buat contoh pekerjaan** untuk membuat pekerjaan dan ikuti langkah-langkah di bawah ini. 

![\[Tangkapan layar menunjukkan panel Example jobs dengan pekerjaan Visual ETL untuk bergabung dengan beberapa sumber eample job yang dipilih.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/visual-etl-example-jobs-create.png)


**Untuk menghapus simpul dari kanvas**

1.  Dari AWS Glue konsol, pilih **Visual ETL** dari menu navigasi dan pilih pekerjaan yang ada. Kanvas pekerjaan menampilkan contoh pekerjaan seperti yang digambarkan di bawah ini.   
![\[Tangkapan layar menunjukkan diagram pekerjaan yang dihasilkan dari pekerjaan Contoh.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/visual-job-example-job-nodes.png)

1.  Pilih simpul yang ingin Anda hapus. Kanvas akan memperbesar ke node. Di bilah alat di sisi kanan kanvas, pilih ikon **Sampah**. Ini akan menghapus node dan setiap node yang terhubung ke node akan bergerak untuk mengambil tempatnya dalam alur kerja. Dalam contoh ini, node **Join** pertama dihapus dari kanvas. 

    Jika Anda menghapus node dalam alur kerja, AWS Glue akan mengatur ulang node sehingga mereka diatur dengan cara yang tidak menghasilkan alur kerja yang tidak valid. Anda mungkin masih perlu memperbaiki konfigurasi node. 

    Dalam contoh, node **Join** di bawah node **Subscribers** telah dihapus. Akibatnya, node sumber **Rencana** telah dipindahkan ke tingkat atas dan masih terhubung ke node **Join** anak. Node **Join** sekarang memerlukan konfigurasi tambahan karena **Join** membutuhkan dua node sumber induk dengan tabel yang dipilih. Tab **Transform** di sebelah kanan kanvas menampilkan persyaratan yang hilang dalam **kondisi Gabung**.   
![\[Tangkapan layar menunjukkan diagram pekerjaan di mana node induk adalah dua node sumber - Penugasan rencana dan Pelanggan. Mereka terhubung ke node Join. Sebuah node sumber Rencana dan node Join terhubung ke node Change Schema. Node Catalog terhubung ke node Change schema.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/visual-job-delete-node-join-plans.png)

1.  Hapus node **Join** kedua dan **Select Fields** node. Ketika node telah dihapus, alur kerja akan terlihat seperti contoh di bawah ini.   
![\[Tangkapan layar menunjukkan diagram pekerjaan di mana node Gabung dan Pilih Bidang telah dihapus dan simpul yang terhubung dengannya, simpul Ubah Skema, telah bergerak ke atas untuk mengambil tempatnya dalam alur pekerjaan.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/visual-job-three-data-sources-rearranged.png)

1.  Untuk memodifikasi koneksi node, klik pada pegangan node dan seret koneksi ke node baru. Ini akan memungkinkan Anda untuk menghapus node dan mengatur ulang node dalam aliran logis. Dalam contoh, koneksi baru sedang dibuat dengan mengklik pegangan pada node Rencana dan menyeret koneksi ke node Join seperti yang digambarkan oleh panah merah.   
![\[Tangkapan layar menunjukkan diagram pekerjaan di mana pegangan tertutup dalam lingkaran merah dan panah merah bergabung dengan node Rencana dan simpul Gabung untuk menunjukkan tindakan mengklik dan menyeret untuk menghubungkan node bersama-sama.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/visual-job-plans-node-handle-selected.png)

1.  Jika Anda perlu membatalkan tindakan apa pun, pilih ikon **Undo** langsung di bawah ikon **Sampah** di bilah alat di sisi kanan kanvas. 

# Menambahkan parameter sumber dan target ke node AWS Glue Data Catalog
<a name="edit-job-add-job-parameters"></a>

 AWS Glue Studiomemungkinkan Anda untuk membuat parameter pekerjaan visual. Karena nama tabel katalog di lingkungan produksi dan pengembangan mungkin berbeda, Anda dapat menentukan dan memilih parameter runtime untuk database dan tabel yang akan berjalan saat pekerjaan Anda berjalan. 

 Parameterisasi Job memungkinkan Anda untuk membuat parameter sumber dan target, dan menyimpan parameter tersebut ke pekerjaan saat menggunakan node Data Catalog. AWS Glue Saat Anda menentukan sumber dan target sebagai parameter, Anda mengaktifkan kegunaan kembali pekerjaan, terutama saat menggunakan pekerjaan yang sama di berbagai lingkungan. Ini berguna saat mempromosikan kode di seluruh lingkungan penerapan dengan menghemat waktu dan tenaga dalam mengelola sumber dan target Anda. Selain itu, parameter kustom yang Anda tentukan akan mengganti argumen default apa pun untuk menjalankan AWS Glue pekerjaan tertentu. 

 **Untuk menambahkan parameter sumber dan target** 

 Apakah Anda menggunakan node AWS Glue Data Catalog sebagai sumber atau target, Anda dapat menentukan parameter runtime di bagian **Advanced properties** pada tab **Job details**. 

1.  Pilih node AWS Glue Data Catalog sebagai node sumber atau node target. 

1.  Pilih tab **Detail tugas**. 

1.  Pilih **Properti lanjutan**. 

1.  Di bagian Parameter Job, masukkan nilai kunci. Misalnya, `--db.source` akan menjadi parameter untuk sumber database. Anda dapat memasukkan nama apa pun untuk kunci tersebut, selama nama kunci diikuti oleh 'dasbor dasbor'.   
![\[Tangkapan layar menunjukkan bagian parameter pekerjaan di tab Rincian pekerjaan. Anda dapat menentukan parameter yang akan digunakan selama runtime untuk Database dan Tabel.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/Data_Catalog_node_job_details_job_parameters.png)

1.  Masukkan nilainya. Misalnya, `databasename` akan menjadi nilai untuk database yang diparameterisasi. 

1.  Pilih **Tambahkan parameter baru** jika Anda ingin menambahkan lebih banyak parameter. Max 50 parameter diperbolehkan. Setelah pasangan nilai kunci telah ditentukan, Anda dapat menggunakan parameter di node AWS Glue Data Catalog. 

 **Untuk memilih parameter runtime** 

**catatan**  
 Proses untuk memilih parameter runtime untuk database dan tabel adalah sama apakah node AWS Glue Data Catalog adalah sumber atau target. 

1.  Pilih node AWS Glue Data Catalog sebagai node sumber atau node target. 

1.  Dalam tab **Properti sumber data - Katalog Data**, di bawah **Database**, pilih **Gunakan parameter runtime**.   
![\[Tangkapan layar menunjukkan menu drop-down parameter runtime. Anda dapat memilih parameter yang ditentukan untuk digunakan selama runtime untuk Database dan Tabel.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/Data_Catalog_node_select_runtime_parameters.png)

1.  Pilih parameter dari menu drop-down. **Misalnya, ketika Anda memilih parameter yang Anda tentukan untuk database sumber, database akan secara otomatis terisi di menu drop-down database ketika Anda memilih Terapkan.** 

1.  Di bagian Tabel, pilih parameter yang sudah Anda definisikan sebagai tabel sumber. Ketika Anda memilih **Terapkan**, tabel secara otomatis diisi sebagai tabel yang akan digunakan. 

1.  Ketika Anda menyimpan dan menjalankan pekerjaan, AWS Glue Studio akan referensi parameter yang dipilih selama menjalankan pekerjaan. 

# Menggunakan sistem kontrol versi Git di AWS Glue
<a name="edit-job-add-source-control-integration"></a>

**catatan**  
 Notebook saat ini tidak didukung untuk kontrol versi diAWS Glue Studio. Namun, kontrol versi untuk skrip AWS Glue pekerjaan dan pekerjaan ETL visual didukung. 

 Jika Anda memiliki repositori jarak jauh dan ingin mengelola AWS Glue pekerjaan Anda menggunakan repositori Anda, Anda dapat menggunakan AWS Glue Studio atau AWS CLI untuk menyinkronkan perubahan ke repositori dan pekerjaan Anda di. AWS Glue Ketika Anda menyinkronkan perubahan dengan cara ini, Anda mendorong pekerjaan dari AWS Glue Studio ke repositori Anda, atau menarik dari repositori ke. AWS Glue Studio 

 Dengan integrasi Git diAWS Glue Studio, Anda dapat: 
+  Integrasi dengan sistem kontrol versi Git, seperti AWS CodeCommit, GitHub, GitLab, dan Bitbucket 
+  Edit AWS Glue pekerjaan AWS Glue Studio apakah Anda menggunakan pekerjaan visual atau pekerjaan skrip dan sinkronkan ke repositori 
+  Parameterisasi sumber dan target dalam pekerjaan 
+  Tarik pekerjaan dari repositori dan edit di AWS Glue Studio 
+  Uji pekerjaan dengan menarik dari cabang yang and/or mendorong ke cabang menggunakan alur kerja multi-cabang di AWS Glue Studio 
+  Unduh file dari repositori dan unggah pekerjaan AWS Glue Studio untuk pembuatan pekerjaan lintas akun 
+  Gunakan alat otomatisasi pilihan Anda (misalnya, Jenkins, AWS CodeDeploy, dll.) 

Video ini menunjukkan bagaimana Anda dapat mengintegrasikan AWS Glue dengan Git dan membangun pipeline kode yang berkelanjutan dan kolaboratif.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/XRlZq2kvE4U/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/XRlZq2kvE4U)


## Izin IAM
<a name="git-integration-permissions"></a>

 Pastikan pekerjaan memiliki salah satu izin IAM berikut. Untuk informasi selengkapnya tentang cara mengatur izin IAM, lihat [Menyiapkan izin IAM](https://docs.aws.amazon.com/glue/latest/ug/setting-up.html?icmpid=docs_glue_studio_helppanel#getting-started-iam-permissions) untuk. AWS Glue Studio 
+ `AWSGlueServiceRole`
+ `AWSGlueConsoleFullAccess`

 Minimal, tindakan berikut diperlukan untuk integrasi Git: 
+  `glue:UpdateJobFromSourceControl`— untuk dapat memperbarui AWS Glue dengan pekerjaan yang ada di sistem kontrol versi 
+  `glue:UpdateSourceControlFromJob`— untuk dapat memperbarui sistem kontrol versi dengan pekerjaan yang disimpan di AWS Glue 
+  `s3:GetObject`— untuk dapat mengambil skrip untuk pekerjaan sambil mendorong ke sistem kontrol versi 
+  `s3:PutObject`— untuk dapat memperbarui skrip saat menarik pekerjaan dari sistem kontrol sumber 

## Prasyarat
<a name="edit-job-push-source-repository-prerequisites"></a>

 Untuk mendorong pekerjaan ke repositori kontrol sumber, Anda perlu: 
+  repositori yang telah dibuat oleh administrator Anda 
+  cabang di repositori 
+  token akses pribadi (untuk Bitbucket, ini adalah Token Akses Repositori) 
+  nama pengguna pemilik repositori 
+  atur izin di repositori untuk memungkinkan membaca dan menulis AWS Glue Studio ke repositori 
  +  **GitLab**— atur cakupan token ke api, read\$1repository, dan write\$1repository 
  +  **Bitbucket** - atur izin ke: 
    + **Keanggotaan ruang kerja** - baca, tulis
    + **Proyek** - tulis, baca admin
    + **Repositori** - baca, tulis, admin, hapus

**catatan**  
 Saat menggunakan AWS CodeCommit, token akses pribadi dan pemilik repositori tidak diperlukan. Lihat [Memulai dengan Git dan AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/getting-started.html). 

 **Menggunakan pekerjaan dari repositori kontrol sumber Anda di AWS Glue Studio** 

 Untuk menarik pekerjaan dari repositori kontrol sumber Anda yang tidak adaAWS Glue Studio, dan untuk menggunakan pekerjaan ituAWS Glue Studio, prasyarat akan tergantung pada jenis pekerjaan. 

 **Untuk pekerjaan visual:** 
+  Anda memerlukan folder dan file JSON dari definisi pekerjaan yang cocok dengan nama pekerjaan 

   Misalnya, lihat definisi pekerjaan di bawah ini. Cabang di repositori Anda harus berisi jalur `my-visual-job/my-visual-job.json` di mana folder dan file JSON cocok dengan nama pekerjaan 

  ```
  {
    "name" : "my-visual-job",
    "description" : "",
    "role" : "arn:aws:iam::aws_account_id:role/Rolename",
    "command" : {
      "name" : "glueetl",
      "scriptLocation" : "s3://foldername/scripts/my-visual-job.py",
      "pythonVersion" : "3"
    },
    "codeGenConfigurationNodes" : "{\"node-nodeID\":{\"S3CsvSource\":{\"AdditionalOptions\":{\"EnableSamplePath\":false,\"SamplePath\":\"s3://notebook-test-input/netflix_titles.csv\"},\"Escaper\":\"\",\"Exclusions\":[],\"Name\":\"Amazon S3\",\"OptimizePerformance\":false,\"OutputSchemas\":[{\"Columns\":[{\"Name\":\"show_id\",\"Type\":\"string\"},{\"Name\":\"type\",\"Type\":\"string\"},{\"Name\":\"title\",\"Type\":\"choice\"},{\"Name\":\"director\",\"Type\":\"string\"},{\"Name\":\"cast\",\"Type\":\"string\"},{\"Name\":\"country\",\"Type\":\"string\"},{\"Name\":\"date_added\",\"Type\":\"string\"},{\"Name\":\"release_year\",\"Type\":\"bigint\"},{\"Name\":\"rating\",\"Type\":\"string\"},{\"Name\":\"duration\",\"Type\":\"string\"},{\"Name\":\"listed_in\",\"Type\":\"string\"},{\"Name\":\"description\",\"Type\":\"string\"}]}],\"Paths\":[\"s3://dalamgir-notebook-test-input/netflix_titles.csv\"],\"QuoteChar\":\"quote\",\"Recurse\":true,\"Separator\":\"comma\",\"WithHeader\":true}}}"
  }
  ```

 **Untuk pekerjaan skrip:** 
+  Anda memerlukan folder, file JSON dari definisi pekerjaan, dan skrip 
+  folder dan file JSON harus cocok dengan nama pekerjaan. Nama skrip harus sesuai `scriptLocation` dengan definisi pekerjaan bersama dengan ekstensi file 

   Misalnya, dalam definisi pekerjaan di bawah ini, cabang di repositori Anda harus berisi jalur `my-script-job/my-script-job.json` dan. `my-script-job/my-script-job.py` Nama skrip harus cocok dengan nama di `scriptLocation` termasuk ekstensi skrip 

  ```
  {
    "name" : "my-script-job",
    "description" : "",
    "role" : "arn:aws:iam::aws_account_id:role/Rolename",
    "command" : {
      "name" : "glueetl",
      "scriptLocation" : "s3://foldername/scripts/my-script-job.py",
      "pythonVersion" : "3"
    }
  }
  ```

## Batasan
<a name="edit-job-repository-limitations"></a>
+  AWS Gluesaat ini tidak mendukung pushing/pulling dari [GitLab-Groups](https://docs.gitlab.com/ee/user/group). 

## Menghubungkan repositori kontrol versi dengan AWS Glue
<a name="edit-job-connecting-repositories"></a>

 Anda dapat memasukkan detail repositori kontrol versi Anda dan mengelolanya di tab **Kontrol Versi** di editor AWS Glue Studio pekerjaan. Untuk mengintegrasikan dengan repositori Git Anda, Anda harus terhubung ke repositori Anda setiap kali Anda masuk. AWS Glue Studio 

 Untuk menghubungkan sistem kontrol versi Git: 

1.  MasukAWS Glue Studio, mulai pekerjaan baru dan pilih tab **Kontrol Versi**.   
![\[Tangkapan layar menunjukkan pekerjaan dengan tab Kontrol Versi yang dipilih.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/editing-nodes-version-control-tab.png)

1.  Dalam **sistem kontrol Versi**, pilih Layanan Git dari opsi yang tersedia dengan mengklik menu tarik-turun. 
   +  AWS CodeCommit 
   +  GitHub 
   + GitLab
   + Bitbucket

1.  Bergantung pada sistem kontrol versi Git yang Anda pilih, Anda akan memiliki bidang yang berbeda untuk diselesaikan. 

   

    **Untuk AWS CodeCommit**: 

    Selesaikan konfigurasi repositori dengan memilih repositori dan cabang untuk pekerjaan Anda: 
   +  **Repositori** — jika Anda telah mengatur repositori di AWS CodeCommit, pilih repositori dari menu drop-down. Repositori Anda akan secara otomatis terisi dalam daftar 
   +  **Cabang** — pilih cabang dari menu drop-down 
   +  **Folder** — *opsional* - masukkan nama folder untuk menyimpan pekerjaan Anda. Jika dibiarkan kosong, folder dibuat secara otomatis. Nama folder default ke nama pekerjaan 

   

    **Untuk GitHub**: 

    Selesaikan GitHub konfigurasi dengan menyelesaikan bidang: 
   +  **Token akses pribadi** — ini adalah token yang disediakan oleh GitHub repositori. Untuk informasi selengkapnya tentang token akses pribadi, lihat [ GitHub Dokumen](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token) 
   +  **Pemilik repositori** — ini adalah pemilik repositori. GitHub 

    Selesaikan konfigurasi repositori dengan memilih repositori dan cabang dari. GitHub 
   +  **Repositori** — jika Anda telah mengatur repositori di GitHub, pilih repositori dari menu drop-down. Repositori Anda akan secara otomatis terisi dalam daftar 
   +  **Cabang** — pilih cabang dari menu drop-down 
   +  **Folder** — *opsional* - masukkan nama folder untuk menyimpan pekerjaan Anda. Jika dibiarkan kosong, folder dibuat secara otomatis. Nama folder default ke nama pekerjaan 

   

    **Untuk GitLab**: 
**catatan**  
 AWS Gluesaat ini tidak mendukung pushing/pulling dari [GitLab-Groups](https://docs.gitlab.com/ee/user/group). 
   +  **Token akses pribadi** — ini adalah token yang disediakan oleh GitLab repositori. Untuk informasi selengkapnya tentang token akses pribadi, lihat [Token akses GitLab pribadi](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) 
   +  **Pemilik repositori** — ini adalah pemilik repositori. GitLab 

    Selesaikan konfigurasi repositori dengan memilih repositori dan cabang dari. GitLab 
   +  **Repositori** — jika Anda telah mengatur repositori di GitLab, pilih repositori dari menu drop-down. Repositori Anda akan secara otomatis terisi dalam daftar 
   +  **Cabang** — pilih cabang dari menu drop-down 
   +  **Folder** — *opsional* - masukkan nama folder untuk menyimpan pekerjaan Anda. Jika dibiarkan kosong, folder dibuat secara otomatis. Nama folder default ke nama pekerjaan 

    **Untuk Bitbucket**: 
   +  **Kata sandi aplikasi** — Bitbucket menggunakan kata sandi Aplikasi dan bukan Token Akses Repositori. Untuk informasi selengkapnya tentang Sandi aplikasi, lihat [Sandi aplikasi](https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/). 
   +  **Pemilik repositori** — ini adalah pemilik repositori Bitbucket. Di Bitbucket, pemiliknya adalah pencipta repositori. 

    Lengkapi konfigurasi repositori dengan memilih ruang kerja, repositori, cabang, dan folder dari Bitbucket. 
   +  **Workspace** — jika Anda memiliki ruang kerja yang diatur di Bitbucket, pilih ruang kerja dari menu drop-down. Ruang kerja Anda terisi secara otomatis 
   +  **Repositori** — jika Anda telah mengatur repositori di Bitbucket, pilih repositori dari menu drop-down. Repositori Anda diisi secara otomatis 
   +  **Cabang** — pilih cabang dari menu drop-down. Cabang Anda terisi secara otomatis 
   +  **Folder** — *opsional* - masukkan nama folder untuk menyimpan pekerjaan Anda. Jika dibiarkan kosong, folder secara otomatis dibuat dengan nama pekerjaan. 

1.  Pilih **Simpan** di bagian atas AWS Glue Studio pekerjaan 

## Mendorong AWS Glue pekerjaan ke repositori sumber
<a name="edit-job-push-source-repository"></a>

 Setelah Anda memasukkan detail sistem kontrol versi Anda, Anda dapat mengedit pekerjaan AWS Glue Studio dan mendorong pekerjaan ke repositori sumber Anda. Jika Anda tidak terbiasa dengan konsep Git seperti mendorong dan menarik, lihat tutorial ini tentang [Memulai dengan Git dan AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/getting-started.html). 

 Untuk mendorong pekerjaan Anda ke repositori, Anda harus memasukkan detail sistem kontrol versi Anda dan menyimpan pekerjaan Anda. 

1.  Dalam AWS Glue Studio pekerjaan, pilih **Tindakan**. Ini akan membuka opsi menu tambahan.   
![\[Tangkapan layar menunjukkan pekerjaan dengan menu Tindakan dibuka. Opsi Push to repositori terlihat.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/editing-nodes-actions-push-to-repository.png)

1.  Pilih **Push to repository**. 

    Tindakan ini akan menyelamatkan pekerjaan. Saat Anda mendorong ke repositori, AWS Glue Studio dorong perubahan terakhir yang disimpan. Jika pekerjaan di repositori diubah oleh Anda atau pengguna lain dan tidak sinkron dengan pekerjaan diAWS Glue Studio, pekerjaan di repositori ditimpa dengan pekerjaan yang disimpan AWS Glue Studio saat Anda mendorong pekerjaan dari. AWS Glue Studio 

1.  Pilih **Konfirmasi** untuk menyelesaikan tindakan. Ini membuat komit baru di repositori. Jika Anda menggunakan AWS CodeCommit, pesan konfirmasi akan menampilkan tautan ke komit terbaru AWS CodeCommit. 

## Menarik AWS Glue pekerjaan dari repositori sumber
<a name="edit-job-pull-source-repository"></a>

 Setelah Anda memasukkan detail repositori Git Anda ke dalam tab **kontrol Versi**, Anda juga dapat menarik pekerjaan dari repositori Anda dan mengeditnya. AWS Glue Studio 

1.  Dalam AWS Glue Studio pekerjaan, pilih **Tindakan**. Ini akan membuka opsi menu tambahan.   
![\[Tangkapan layar menunjukkan pekerjaan dengan menu Tindakan dibuka. Opsi Push to repositori terlihat.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/editing-nodes-actions-push-to-repository.png)

1.  Pilih **Tarik dari repositori**. 

1.  Pilih **Konfirmasi**. Ini mengambil komit terbaru dari repositori dan memperbarui pekerjaan Anda. AWS Glue Studio 

1.  Edit pekerjaan Anda diAWS Glue Studio. **Jika Anda membuat perubahan, Anda dapat menyinkronkan pekerjaan Anda ke repositori Anda dengan memilih **Push to repository** dari menu drop-down Actions.** 

# Menulis kode dengan notebook AWS Glue Studio
<a name="notebooks-chapter"></a>

 Insinyur data dapat membuat AWS Glue pekerjaan lebih cepat dan lebih mudah daripada sebelum menggunakan antarmuka notebook interaktif AWS Glue Studio atau sesi interaktif diAWS Glue. 

## Batasan
<a name="notebooks-chapter-limitations"></a>
+  AWS Glue Studio notebook tidak mendukung Scala. 

**Topics**
+ [Batasan](#notebooks-chapter-limitations)
+ [Ikhtisar menggunakan notebook](using-notebooks-overview.md)
+ [Membuat pekerjaan ETL menggunakan notebook di AWS Glue Studio](create-notebook-job.md)
+ [Komponen editor notebook](notebook-components.md)
+ [Menyimpan buku catatan dan skrip pekerjaan Anda](save-notebook.md)
+ [Mengelola sesi buku catatan](manage-notebook-sessions.md)
+ [Menggunakan Pengembang Amazon Q dengan AWS Glue Studio notebook](glue-studio-notebooks-amazon-q-developer.md)

# Ikhtisar menggunakan notebook
<a name="using-notebooks-overview"></a>

 AWS Glue Studiomemungkinkan Anda untuk menulis pekerjaan secara interaktif di antarmuka notebook berdasarkan Jupyter Notebooks. Melalui notebook diAWS Glue Studio, Anda dapat mengedit skrip pekerjaan dan melihat output tanpa harus menjalankan pekerjaan penuh, dan Anda dapat mengedit kode integrasi data dan melihat output tanpa harus menjalankan pekerjaan penuh, dan Anda dapat menambahkan penurunan harga dan menyimpan buku catatan sebagai file.ipynb dan skrip pekerjaan. Anda dapat memulai notebook tanpa menginstal perangkat lunak secara lokal atau mengelola server. Ketika Anda puas dengan kode Anda, AWS Glue Studio dapat mengkonversi notebook Anda ke pekerjaan Glue dengan mengklik tombol. 

 Beberapa manfaat menggunakan notebook meliputi: 
+  Tidak ada cluster untuk menyediakan atau mengelola 
+  Tidak ada cluster idle yang harus dibayar 
+  Tidak diperlukan konfigurasi di muka 
+  Tidak diperlukan pemasangan notebook Jupyter 
+  Sama runtime/platform seperti AWS Glue ETL 

 Ketika Anda memulai buku catatanAWS Glue Studio, semua langkah konfigurasi dilakukan untuk Anda sehingga Anda dapat menjelajahi data Anda dan mulai mengembangkan skrip pekerjaan Anda setelah hanya beberapa detik. AWS Glue Studiomengkonfigurasi notebook Jupyter dengan kernel Jupyter. AWS Glue Anda tidak perlu mengkonfigurasi VPCs, koneksi jaringan, atau titik akhir pengembangan untuk menggunakan buku catatan ini. 

 Untuk membuat pekerjaan menggunakan antarmuka notebook: 
+  konfigurasikan izin IAM yang diperlukan. 
+  memulai sesi buku catatan untuk membuat pekerjaan 
+  tulis kode di sel di buku catatan 
+  jalankan dan uji kode untuk melihat output 
+  selamatkan pekerjaan 

 Setelah buku catatan Anda disimpan, buku catatan Anda adalah AWS Glue pekerjaan penuh. Anda dapat mengelola semua aspek pekerjaan, seperti menjadwalkan pekerjaan berjalan, menetapkan parameter pekerjaan, dan melihat riwayat menjalankan pekerjaan tepat di samping buku catatan Anda. 

# Membuat pekerjaan ETL menggunakan notebook di AWS Glue Studio
<a name="create-notebook-job"></a>

**Untuk mulai menggunakan notebook di konsol AWS Glue Studio**

1.  Lampirkan AWS Identity and Access Management kebijakan ke AWS Glue Studio pengguna dan buat peran IAM untuk pekerjaan dan buku catatan ETL Anda. 

1.  Konfigurasikan keamanan IAM tambahan untuk notebook, seperti yang dijelaskan dalam. [Memberikan izin untuk peran IAM](notebook-getting-started.md#studio-notebook-permissions) 

1.  Buka konsol AWS Glue Studio di [https://console.aws.amazon.com/gluestudio/](https://console.aws.amazon.com/gluestudio/). 
**catatan**  
Periksa apakah browser Anda tidak memblokir cookie pihak ketiga. Browser apa pun yang memblokir cookie pihak ketiga baik secara default atau sebagai pengaturan yang diaktifkan pengguna akan mencegah notebook diluncurkan. Untuk informasi selengkapnya tentang mengelola cookie, lihat:
   + [Chrome](https://support.alertlogic.com/hc/en-us/articles/360018127132-Turn-Off-Block-Third-Party-Cookies-in-Chrome-for-Windows)
   + [Firefox](https://support.mozilla.org/en-US/kb/third-party-cookies-firefox-tracking-protection)
   + [Safari](https://support.apple.com/guide/safari/manage-cookies-sfri11471/mac)

1. Pilih link **Jobs** di menu navigasi sisi kiri. 

1.  Pilih **buku catatan Jupyter** dan kemudian pilih **Buat** untuk memulai sesi buku catatan baru. 

1.  Pada halaman **Buat pekerjaan di buku catatan Jupyter**, berikan nama pekerjaan, dan pilih peran IAM yang akan digunakan. Pilih **Buat tugas**. 

    Setelah periode waktu yang singkat, editor notebook muncul. 

1.  Setelah Anda menambahkan kode, Anda harus menjalankan sel untuk memulai sesi. Ada beberapa cara untuk mengeksekusi sel: 
   + Tekan tombol putar.
   +  Gunakan pintasan keyboard: 
     +  Di macOS, **Command** \$1 **Enter** untuk menjalankan sel. 
     +  Pada Windows, ****Shift\$1Enter**** untuk menjalankan sel. 

    Untuk informasi tentang menulis kode menggunakan antarmuka notebook Jupyter, lihat Dokumentasi Pengguna Notebook *[Jupyter](https://jupyter-notebook.readthedocs.io/en/stable/notebook.html)*. 

1.  Untuk menguji skrip Anda, jalankan seluruh skrip, atau sel individual. Output perintah apa pun akan ditampilkan di area di bawah sel. 

1.  Setelah Anda selesai mengembangkan notebook Anda, Anda dapat menyimpan pekerjaan dan kemudian menjalankannya. Anda dapat menemukan skrip di tab **Script**. Sihir apa pun yang Anda tambahkan ke buku catatan akan dilucuti dan tidak akan disimpan sebagai bagian dari skrip pekerjaan yang dihasilkanAWS Glue. AWS Glue Studioakan otomatis menambahkan a `job.commit()` ke akhir skrip yang Anda hasilkan dari isi buku catatan.

   Untuk informasi selengkapnya tentang menjalankan pekerjaan, lihat[Memulai eksekusi tugas](managing-jobs-chapter.md#start-jobs). 

   

# Komponen editor notebook
<a name="notebook-components"></a>

 Antarmuka editor notebook memiliki bagian utama berikut. 
+  Antarmuka notebook (panel utama) dan bilah alat 
+  Tab pengeditan pekerjaan 

## Editor buku catatan
<a name="notebook-editor"></a>

 Editor AWS Glue Studio notebook didasarkan pada Aplikasi Notebook Jupyter. Antarmuka AWS Glue Studio notebook mirip dengan yang disediakan oleh Juypter Notebooks, yang dijelaskan di bagian Antarmuka pengguna [Notebook](https://jupyter-notebook.readthedocs.io/en/stable/notebook.html?highlight=toolbar#notebook-user-interface). Notebook yang digunakan oleh sesi interaktif adalah Notebook Jupyter. 

 Meskipun AWS Glue Studio notebook ini mirip dengan Notebook Juptyer, notebook ini berbeda dalam beberapa cara utama: 
+  saat ini, AWS Glue Studio notebook tidak dapat menginstal ekstensi 
+  Anda tidak dapat menggunakan banyak tab; ada hubungan 1:1 antara pekerjaan dan buku catatan 
+  AWS Glue Studionotebook tidak memiliki menu file atas yang sama yang ada di Jupyter Notebooks 
+  saat ini, AWS Glue Studio notebook hanya berjalan dengan AWS Glue kernel. Perhatikan bahwa Anda tidak dapat memperbarui kernel sendiri. 

## AWS Glue Studiotab pengeditan pekerjaan
<a name="notebook-job-tabs"></a>

 Tab yang Anda gunakan untuk berinteraksi dengan pekerjaan ETL ada di bagian atas halaman buku catatan. Mereka mirip dengan tab yang muncul di editor pekerjaan visualAWS Glue Studio, dan mereka melakukan tindakan yang sama. 
+  **Notebook** — Gunakan tab ini untuk melihat skrip pekerjaan menggunakan antarmuka notebook. 
+  **Rincian pekerjaan** - Konfigurasikan lingkungan dan properti untuk menjalankan pekerjaan. 
+  **Berjalan** - Lihat informasi tentang proses sebelumnya dari pekerjaan ini. 
+  **Jadwal** — Konfigurasikan jadwal untuk menjalankan pekerjaan Anda pada waktu tertentu. 

# Menyimpan buku catatan dan skrip pekerjaan Anda
<a name="save-notebook"></a>

 Anda dapat menyimpan buku catatan dan skrip pekerjaan yang Anda buat kapan saja. Cukup pilih tombol **Simpan** di sudut kanan atas, sama seperti jika Anda menggunakan editor visual atau skrip. 

 Saat Anda memilih **Simpan**, file notebook disimpan di lokasi default: 
+  Secara default, skrip pekerjaan disimpan ke lokasi Amazon S3 yang ditunjukkan di tab **Rincian Pekerjaan**, di bawah **Properti lanjutan, di jalur** **Skrip** properti Detail pekerjaan. Skrip Job disimpan dalam subfolder bernama. `Scripts` 
+  Secara default, file notebook (`.ipynb`) disimpan ke lokasi Amazon S3 yang ditunjukkan di tab **Rincian Pekerjaan**, di bawah **Properti lanjutan**, di jalur **Skrip** rincian Pekerjaan. File notebook disimpan dalam subfolder bernama`Notebooks`. 

**catatan**  
 Saat Anda menyimpan pekerjaan, skrip pekerjaan hanya berisi sel kode dari buku catatan. Sel Markdown dan sihir tidak termasuk dalam skrip pekerjaan. Namun, `.ipynb` file tersebut akan berisi penurunan harga dan sihir apa pun. 

 Setelah Anda menyimpan pekerjaan, Anda kemudian dapat menjalankan pekerjaan menggunakan skrip yang Anda buat di notebook. 

# Mengelola sesi buku catatan
<a name="manage-notebook-sessions"></a>

 Notebook di AWS Glue Studio didasarkan pada fitur sesi interaktif. AWS Glue Ada biaya untuk menggunakan sesi interaktif. Untuk membantu mengelola biaya, Anda dapat memantau sesi yang dibuat untuk akun Anda, dan mengonfigurasi pengaturan default untuk semua sesi. 

## Mengubah batas waktu default untuk semua sesi buku catatan
<a name="change-default-timeout"></a>

 Secara default, AWS Glue Studio notebook yang disediakan habis setelah 12 jam jika notebook diluncurkan dan tidak ada sel yang dieksekusi. Tidak ada biaya yang terkait dengannya dan batas waktu tidak dapat dikonfigurasi. 

 Setelah Anda menjalankan sel, ini akan memulai sesi interaktif. Sesi ini memiliki batas waktu default 48 jam. Batas waktu ini dapat dikonfigurasi dengan meneruskan `%idle_timeout` sihir sebelum mengeksekusi sel. 

**Untuk mengubah batas waktu sesi default untuk buku catatan di AWS Glue Studio**

1.  Di buku catatan, masukkan `%idle_timeout` keajaiban dalam sel dan tentukan nilai batas waktu dalam hitungan menit. 

1.  Misalnya: `%idle_timeout 15` akan mengubah batas waktu default menjadi 15 menit. Jika sesi tidak digunakan dalam 15 menit, sesi secara otomatis dihentikan. 

## Menginstal modul Python tambahan
<a name="specify-default-modules"></a>

 Jika Anda ingin menginstal modul tambahan ke sesi Anda menggunakan pip, Anda dapat melakukannya dengan menggunakan `%additional_python_modules` untuk menambahkannya ke sesi Anda: 

```
%additional_python_modules awswrangler, s3://amzn-s3-demo-bucket/mymodule.whl
```

 Semua argumen ke additional\$1python\$1modules diteruskan ke `pip3 install -m <>` 

 Untuk daftar modul Python yang tersedia, lihat Menggunakan pustaka [Python](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-libraries.html) dengan. AWS Glue 

## Mengubah AWS Glue Konfigurasi
<a name="specify-default-modules"></a>

 Anda dapat menggunakan sihir untuk mengontrol nilai konfigurasi AWS Glue pekerjaan. Jika Anda ingin mengubah nilai konfigurasi pekerjaan, Anda harus menggunakan sihir yang tepat di notebook. Lihat [Magics didukung oleh sesi AWS Glue interaktif untuk Jupyter](https://docs.aws.amazon.com/glue/latest/dg/interactive-sessions-magics.html). 

**catatan**  
 Properti pengganti untuk sesi berjalan tidak lagi tersedia. Untuk mengubah konfigurasi sesi, Anda dapat menghentikan sesi, mengatur konfigurasi baru dan kemudian memulai sesi baru. 

 AWS Gluemendukung berbagai jenis pekerja. Anda dapat mengatur tipe pekerja dengan`%worker_type`. Sebagai contoh: `%worker_type G.2X `. Jenis pekerja yang tersedia termasuk G.1X, G.2X, G.4X, G.8X, G.12X, G.16X, R.1X, R.2X, R.4X, dan R.8X. Defaultnya adalah G.1X. 

 Anda juga dapat menentukan Jumlah pekerja dengan`%number_of_workers`. Misalnya, untuk menentukan 40 pekerja:`%number_of_workers 40`. 

 Untuk informasi selengkapnya lihat [Mendefinisikan Properti Job](https://docs.aws.amazon.com/glue/latest/dg/add-job.html) 

## Hentikan sesi buku catatan
<a name="stop-notebook-session"></a>

 Untuk menghentikan sesi notebook, gunakan sihir`%stop_session`. 

 Jika Anda menavigasi jauh dari notebook di AWS konsol, Anda akan menerima pesan peringatan di mana Anda dapat memilih untuk menghentikan sesi. 

# Menggunakan Pengembang Amazon Q dengan AWS Glue Studio notebook
<a name="glue-studio-notebooks-amazon-q-developer"></a>

 AWS Glue Studiomemungkinkan Anda untuk menulis pekerjaan secara interaktif di antarmuka notebook berdasarkan Jupyter Notebooks. Menggunakan Amazon Q Developer meningkatkan pengalaman penulisan dalam AWS Glue Studio notebook. 

 Ekstensi Pengembang Amazon Q mendukung penulisan kode dengan menghasilkan rekomendasi kode dan menyarankan perbaikan yang terkait dengan masalah kode. Amazon Q Developer mendukung Python dan Scala, dua bahasa yang digunakan untuk pengkodean skrip ETL untuk pekerjaan Spark di notebook. AWS Glue Studio 

## Apa itu Pengembang Amazon Q?
<a name="w2aac33c15c36b9"></a>

 Amazon Q Developer adalah layanan yang didukung oleh pembelajaran mesin yang membantu meningkatkan produktivitas pengembang. Amazon Q Developer mencapai ini dengan menghasilkan rekomendasi kode berdasarkan komentar pengembang dalam bahasa alami dan kode mereka di IDE. Layanan terintegrasi dengan JupyterLab, Amazon SageMaker AI Studio, instance Amazon SageMaker AI notebook, dan lingkungan pengembangan terintegrasi lainnya ()IDEs. 

 Untuk informasi selengkapnya, lihat [Menggunakan Pengembang Amazon Q dengan AWS Glue Studio](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/glue-setup.html). 

# AWS Gluestatus job run di konsol
<a name="view-job-runs"></a>

Anda dapat melihat status pekerjaan AWS Glue ekstrak, transformasi, dan beban (ETL) saat sedang berjalan atau setelah berhenti. Anda dapat melihat status menggunakan AWS Glue konsol. 

## Mengakses dasbor pemantauan tugas
<a name="monitoring-accessing-dashboard"></a>

Anda mengakses dasbor pemantauan pekerjaan dengan memilih tautan **pemantauan Job run** di panel AWS Glue navigasi di bawah pekerjaan **ETL**.

## Gambaran umum tentang dasbor pemantauan tugas
<a name="monitoring-dashboard-overview"></a>

Dasbor pemantauan tugas menyediakan ringkasan keseluruhan dari eksekusi tugas, dengan total untuk tugas dengan status **Berjalan**, **Dibatalkan**, **Berhasil**, atau **Gagal**. Ubin tambahan memberikan tingkat keberhasilan eksekusi tugas secara keseluruhan, perkiraan penggunaan DPU untuk tugas, rincian status tugas yang dihitung berdasarkan jenis tugas, jenis pekerja, dan berdasarkan hari. 

Grafik di ubin bersifat interaktif. Anda dapat memilih blok apa pun dalam grafik untuk menjalankan filter yang hanya menampilkan tugas tersebut di tabel **Eksekusi tugas** di bagian bawah halaman.

Anda dapat mengubah rentang tanggal untuk informasi yang ditampilkan di halaman ini dengan menggunakan pemilih **Rentang tanggal**. Bila Anda mengubah rentang tanggal, ubin informasi akan menyesuaikan untuk menampilkan nilai untuk jumlah hari yang ditentukan sebelum tanggal saat ini. Anda juga dapat menggunakan rentang tanggal tertentu jika Anda memilih **Kustom** dari pemilih rentang tanggal. 

## Tampilan eksekusi tugas
<a name="monitoring-job-breakdown"></a>

**catatan**  
 Riwayat Job run dapat diakses selama 90 hari untuk alur kerja dan pekerjaan Anda. 

Daftar sumber daya **Eksekusi tugas** menunjukkan tugas untuk rentang tanggal yang ditentukan dan filter.

Anda dapat mem-filter tugas berdasarkan pada kriteria tambahan, seperti status, jenis pekerja, jenis tugas, dan nama tugas. Di kotak filter di bagian atas tabel, Anda dapat memasukkan teks untuk digunakan sebagai filter. Hasil tabel diperbarui dengan baris yang berisi teks yang cocok dengan saat Anda memasukkan teks.

Anda dapat melihat sebuah subset dari tugas dengan memilih elemen dari grafik pada dasbor pemantauan tugas. Misalnya, jika Anda memilih jumlah tugas yang sedang berjalan di ubin **Ringkasan eksekusi tugas**, maka **Eksekusi tugas** akan menampilkan hanya tugas yang saat ini memiliki status `Running` saja. Jika Anda memilih salah satu batang di bagan batang **Perincian jenis pekerja**, maka hanya tugas yang berjalan dengan jenis pekerja dan status yang cocok saja yang ditampilkan dalam daftar **Eksekusi tugas**.

Daftar sumber daya **Eksekusi tugas** menampilkan detail untuk eksekusi tugas. Anda dapat mengurutkan baris dalam tabel dengan memilih judul kolom. Tabel berisi informasi berikut:


| Properti | Deskripsi | 
| --- | --- | 
| Nama Tugas | Nama pekerjaannya. | 
| Tipe |  Jenis lingkungan tugas: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/view-job-runs.html)  | 
| Waktu mulai |  Tanggal dan waktu saat eksekusi tugas ini dimulai.  | 
| Waktu akhir |  Tanggal dan waktu saat eksekusi tugas ini selesai.  | 
| Status eksekusi |  Status eksekusi tugas saat ini. Nilai dapat berupa: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/view-job-runs.html)  | 
| Waktu aktif | Jumlah waktu eksekusi tugas menggunakan sumber daya. | 
| Kapasitas |  Jumlah unit pemrosesan AWS Glue data (DPUs) yang dialokasikan untuk pekerjaan ini dijalankan. Untuk informasi selengkapnya tentang perencanaan kapasitas, lihat [Memantau Perencanaan Kapasitas DPU](https://docs.aws.amazon.com/glue/latest/dg/monitor-debug-capacity.html) di *Panduan Developer AWS Glue*.  | 
| Jenis pekerja |  Jenis pekerja yang telah ditetapkan sebelumnya yang dialokasikan ketika tugas dieksekusi. Nilai bisa`G.1X`,`G.2X`, `G.4X` atau`G.8X`.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/view-job-runs.html)  | 
| Jam DPU |  Perkiraan jumlah yang DPUs digunakan untuk menjalankan pekerjaan. DPU adalah ukuran relatif dari daya pemrosesan. DPUs digunakan untuk menentukan biaya menjalankan pekerjaan Anda. Untuk informasi lebih lanjut, lihat halaman [harga AWS Glue](https://aws.amazon.com/glue/pricing/).  | 

Anda dapat memilih eksekusi tugas dalam daftar dan melihat informasi tambahan. Pilih eksekusi tugas, dan lakukan salah satu hal berikut ini:
+ Pilih menu **Tindakan** dan opsi **Lihat tugas** untuk melihat tugas di editor visual.
+ Pilih menu **Tindakan** dan opsi **Hentikan eksekusi** untuk menghentikan eksekusi tugas saat ini.
+ Pilih tombol **Lihat CloudWatch log** untuk melihat log jalankan pekerjaan untuk pekerjaan itu. 
+ Pilih **Lihat detail** untuk melihat halaman detail pekerjaan yang dijalankan.

## Melihat log eksekusi tugas
<a name="monitoring-job-run-logs"></a>

Anda dapat melihat log tugas dengan berbagai cara:
+ Pada halaman **Monitoring**, di tabel **Job** running, pilih job run, lalu pilih **View CloudWatch logs**.
+ Dalam editor tugas visual, pada tab **Eksekusi** untuk sebuah tugas, pilih hyperlink untuk melihat log:
  + **Log** — Tautan ke log tugas Apache Spark yang ditulis ketika pencatatan log terus menerus diaktifkan untuk sebuah eksekusi tugas. Saat Anda memilih tautan ini, Anda akan dibawa ke Amazon CloudWatch log di grup `/aws-glue/jobs/logs-v2` log. Secara default, log tersebut mengecualikan pesan heartbeat Apache Hadoop BEARN yang tak berguna dan pesan driver atau log pelaksana Apache Spark. Untuk informasi selengkapnya tentang pencatatan log berkelanjutan, lihat [Pencatatan Log Berkelanjutan untuk Tugas AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuous-logging.html) di *Panduan Developer AWS Glue*.
  + **Log kesalahan** — Tautan ke log yang ditulis ke `stderr` untuk eksekusi tugas ini. Bila Anda memilih tautan ini, tautan ini akan membawa Anda ke log Amazon CloudWatch di grup log `/aws-glue/jobs/error`. Anda dapat menggunakan log ini untuk melihat detail tentang kesalahan yang ditemui selama eksekusi tugas.
  + **Log output** — Tautan ke log yang ditulis ke `stdout` untuk eksekusi tugas ini. Bila Anda memilih tautan ini, tautan ini akan membawa Anda ke log Amazon CloudWatch di grup log `/aws-glue/jobs/output`. Anda dapat menggunakan log ini untuk melihat semua detail tentang tabel yang dibuat di AWS Glue Data Catalog dan kesalahan apa pun yang ditemui.

## Melihat detail sebuah eksekusi tugas
<a name="monitoring-job-run-details"></a>

Anda dapat memilih tugas di daftar **Eksekusi tugas** di halaman **Pemantauan**, dan kemudian memilih **Lihat detail eksekusi** untuk melihat informasi detail untuk eksekusi tugas tersebut. 

Informasi yang ditampilkan pada halaman detail eksekusi tugas meliputi:


| Properti | Deskripsi | 
| --- | --- | 
| Nama Tugas | Nama pekerjaannya. | 
| Status Eksekusi |  Status eksekusi tugas saat ini. Nilai dapat berupa: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/view-job-runs.html)  | 
| Versi Glue | AWS GlueVersi yang digunakan oleh job run. | 
| Upaya terbaru | Jumlah percobaan ulang otomatis untuk pekerjaan ini dijalankan. | 
| Waktu mulai |  Tanggal dan waktu saat eksekusi tugas ini dimulai.  | 
| Waktu akhir |  Tanggal dan waktu saat eksekusi tugas ini selesai.  | 
| Waktu pemulaian |  Jumlah waktu yang dihabiskan untuk mempersiapkan diri untuk menjalankan pekerjaan.  | 
| Waktu eksekusi |  Jumlah waktu yang dihabiskan untuk menjalankan skrip pekerjaan.  | 
| Nama pemicu |  Nama pemicu yang terkait dengan pekerjaan.  | 
| Terakhir diubah pada |  Tanggal ketika pekerjaan terakhir diubah.  | 
| Konfigurasi keamanan |  Konfigurasi keamanan untuk pekerjaan tersebut, yang mencakup enkripsi Amazon S3, enkripsi, dan pengaturan CloudWatch enkripsi bookmark pekerjaan.  | 
| Waktu habis | Nilai ambang batas waktu kerja berjalan. | 
| Kapasitas yang dialokasikan |  Jumlah unit pemrosesan AWS Glue data (DPUs) yang dialokasikan untuk pekerjaan ini dijalankan. Untuk informasi selengkapnya tentang perencanaan kapasitas, lihat [Memantau Perencanaan Kapasitas DPU](https://docs.aws.amazon.com/glue/latest/dg/monitor-debug-capacity.html) di *Panduan Developer AWS Glue*.  | 
| Kapasitas maksimum |  Kapasitas maksimum yang tersedia untuk eksekusi tugas.  | 
| Jumlah pekerja | Jumlah pekerja yang digunakan untuk menjalankan pekerjaan.  | 
| Jenis pekerja |  Jenis pekerja yang telah ditetapkan sebelumnya yang diperuntukkan untuk eksekusi tugas. Nilai bisa `G.1X` atau`G.2X`. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/view-job-runs.html)  | 
| Beberapa catatan | Sebuah link ke log pekerjaan untuk logging berkelanjutan (/aws-glue/jobs/logs-v2).  | 
| Log Output | Sebuah link ke file log output pekerjaan (/aws-glue/jobs/output). | 
| Log kesalahan | Sebuah link ke file log kesalahan pekerjaan (/aws-glue/jobs/error). | 

Anda juga dapat melihat item tambahan berikut, yang tersedia saat Anda melihat informasi untuk menjalankan pekerjaan terbaru. Untuk informasi selengkapnya, lihat [Melihat informasi untuk eksekusi tugas terbaru](managing-jobs-chapter.md#view-job-run-details).
+ **Argumen masukan**
+ **Log terus menerus**
+ **Metrik** — Anda dapat melihat visualisasi metrik dasar. Untuk informasi selengkapnya tentang metrik yang disertakan, lihat[Melihat Amazon CloudWatch metrik untuk menjalankan pekerjaan Spark](#monitoring-job-run-metrics).
+ **Spark UI** - Anda dapat memvisualisasikan log Spark untuk pekerjaan Anda di UI Spark. Untuk informasi selengkapnya tentang penggunaan UI Web Spark, lihat[Memantau pekerjaan menggunakan UI web Apache Spark](monitor-spark-ui.md). Aktifkan fitur ini dengan mengikuti prosedur di[Mengaktifkan UI web Apache Spark untuk pekerjaan AWS Glue](monitor-spark-ui-jobs.md).

## Melihat Amazon CloudWatch metrik untuk menjalankan pekerjaan Spark
<a name="monitoring-job-run-metrics"></a>

Pada halaman detail untuk menjalankan pekerjaan, di bawah bagian **Run details**, Anda dapat melihat metrik pekerjaan. AWS Glue Studiomengirimkan metrik pekerjaan Amazon CloudWatch untuk setiap pekerjaan yang dijalankan. 

AWS Glue melaporkan metrik ke Amazon CloudWatch setiap 30 detik. Metrik AWS Glue merupakan nilai delta dari nilai yang dilaporkan sebelumnya. Jika sesuai, dasbor metrik meng-agregat (jumlah) nilai 30 detik untuk mendapatkan nilai untuk seluruh menit terakhir. Namun, metrik Apache Spark yang AWS Glue diteruskan ke umumnya Amazon CloudWatch merupakan nilai absolut yang mewakili keadaan saat ini pada saat dilaporkan. 

**catatan**  
Anda harus mengonfigurasi akun Anda untuk mengakses Amazon CloudWatch,.

Metrik ini memberikan informasi tentang eksekusi tugas Anda, seperti:
+ **Gerakan data ETL** — Jumlah byte yang dibaca dari atau ditulis ke Amazon S3.
+ **Profil Memori: Tumpukan yang digunakan** — Jumlah byte memori yang digunakan oleh tumpukan mesin virtual Java (JVM).
+ **Profil Memori: Penggunaan tumpukan** — Fraksi memori (skala: 0–1), ditampilkan dalam persentase, yang digunakan oleh tumpukan JVM.
+ **Beban CPU** — Fraksi beban sistem CPU yang digunakan (skala: 0–1), ditampilkan dalam persentase.

## Melihat Amazon CloudWatch metrik untuk menjalankan pekerjaan Ray
<a name="monitoring-job-run-metrics-ray"></a>

Pada halaman detail untuk menjalankan pekerjaan, di bawah bagian **Run details**, Anda dapat melihat metrik pekerjaan. AWS Glue Studiomengirimkan metrik pekerjaan Amazon CloudWatch untuk setiap pekerjaan yang dijalankan. 

AWS Glue melaporkan metrik ke Amazon CloudWatch setiap 30 detik. Metrik AWS Glue merupakan nilai delta dari nilai yang dilaporkan sebelumnya. Jika sesuai, dasbor metrik meng-agregat (jumlah) nilai 30 detik untuk mendapatkan nilai untuk seluruh menit terakhir. Namun, metrik Apache Spark yang AWS Glue diteruskan ke umumnya Amazon CloudWatch merupakan nilai absolut yang mewakili keadaan saat ini pada saat dilaporkan. 

**catatan**  
Anda harus mengonfigurasi akun Anda untuk mengakses Amazon CloudWatch, seperti yang dijelaskan dalam.

Dalam pekerjaan Ray, Anda dapat melihat grafik metrik agregat berikut. Dengan ini, Anda dapat membangun profil cluster dan tugas Anda, dan dapat mengakses informasi terperinci tentang setiap node. Data deret waktu yang mendukung grafik ini tersedia CloudWatch untuk analisis lebih lanjut.

**Profil Tugas: Status Tugas**  
Menunjukkan jumlah tugas Ray dalam sistem. Setiap siklus hidup tugas diberikan deret waktunya sendiri.

**Profil Tugas: Nama Tugas**  
Menunjukkan jumlah tugas Ray dalam sistem. Hanya tugas yang tertunda dan aktif yang ditampilkan. Setiap jenis tugas (dengan nama) diberikan deret waktunya sendiri.

**Profil Cluster: CPUs digunakan**  
Menunjukkan jumlah core CPU yang digunakan. Setiap node diberikan deret waktunya sendiri. Node diidentifikasi oleh alamat IP, yang bersifat sementara dan hanya digunakan untuk identifikasi.

**Profil Cluster: Penggunaan memori penyimpanan objek**  
Menunjukkan penggunaan memori oleh cache objek Ray. Setiap lokasi memori (memori fisik, cache pada disk, dan tumpah di Amazon S3) diberikan deret waktunya sendiri. Toko objek mengelola penyimpanan data di semua node di cluster. Untuk informasi selengkapnya, lihat [Objek](https://docs.ray.io/en/latest/ray-core/objects.html) dalam dokumentasi Ray.

**Profil Cluster: Jumlah simpul**  
Menunjukkan jumlah node yang disediakan untuk cluster.

**Detail Node: Penggunaan CPU**  
Menunjukkan pemanfaatan CPU pada setiap node sebagai persentase. Setiap seri menunjukkan persentase agregat penggunaan CPU di semua core pada node.

**Detail Node: Penggunaan memori**  
Menunjukkan penggunaan memori pada setiap node dalam GB. Setiap seri menunjukkan memori yang dikumpulkan antara semua proses pada node, termasuk tugas Ray dan proses penyimpanan Plasma. Ini tidak akan mencerminkan objek yang disimpan ke disk atau tumpah ke Amazon S3.

**Detail Node: Penggunaan disk**  
Menunjukkan penggunaan disk pada setiap node dalam GB.

**Detail Node: I/O Kecepatan disk**  
Menampilkan disk I/O pada setiap node dalam KB/s.

**Detail Node: I/O Throughput jaringan**  
Menunjukkan jaringan I/O pada setiap node dalam KB/s.

**Detail Node: Penggunaan CPU oleh komponen Ray**  
Menunjukkan penggunaan CPU dalam pecahan inti. Setiap komponen sinar pada setiap node diberikan deret waktunya sendiri.

**Detail Node: Penggunaan memori oleh komponen Ray**  
Menunjukkan penggunaan memori di GiB. Setiap komponen sinar pada setiap node diberikan deret waktunya sendiri.

# Mendeteksi dan memproses data sensitif
<a name="detect-PII"></a>

 Transformasi PII Detect mengidentifikasi Informasi Identifikasi Pribadi (PII) di sumber data Anda. Anda memilih entitas PII untuk diidentifikasi, bagaimana Anda ingin data dipindai, dan apa yang harus dilakukan dengan entitas PII yang telah diidentifikasi oleh transformasi Detect PII. 

 Transformasi Detect PII menyediakan kemampuan untuk mendeteksi, menutupi, atau menghapus entitas yang Anda tentukan, atau yang telah ditentukan sebelumnya oleh. AWS Ini memungkinkan Anda untuk meningkatkan kepatuhan dan mengurangi tanggung jawab. Misalnya, Anda mungkin ingin memastikan bahwa tidak ada informasi identitas pribadi dalam data Anda yang dapat dibaca dan ingin menutupi nomor jaminan sosial dengan string tetap (seperti xxx-xx-xxxx), nomor telepon, atau alamat. 

 Untuk bekerja dengan data sensitif di luarAWS Glue Studio, lihat [Menggunakan Deteksi Data Sensitif di luar AWS Glue Studio](aws-glue-api-sensitive-data-example.md) 

**Topics**
+ [Memilih bagaimana Anda ingin data dipindai](#choose-datascan-pii)
+ [Memilih entitas PII untuk dideteksi](#choose-pii-entities)
+ [Menentukan tingkat sensitivitas deteksi](#sensitive-data-sensitivity)
+ [Memilih apa yang harus dilakukan dengan data PII yang diidentifikasi](#choose-action-pii)
+ [Menambahkan penggantian aksi berbutir halus](#sensitive-data-fine-grained-actions-override)

## Memilih bagaimana Anda ingin data dipindai
<a name="choose-datascan-pii"></a>

 Saat Anda memindai kumpulan data Anda untuk data sensitif seperti informasi identitas pribadi (PII), Anda dapat memilih untuk mendeteksi PII di setiap baris atau mendeteksi kolom yang berisi data PII. 

![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/detect-fields-PII.png)


 Saat Anda memilih **Deteksi PII di setiap sel**, Anda memilih untuk memindai semua baris di sumber data. Ini adalah pemindaian komprehensif untuk memastikan bahwa entitas PII diidentifikasi. 

 Saat Anda memilih **Mendeteksi bidang yang berisi PII**, Anda memilih untuk memindai sampel baris untuk entitas PII. Ini adalah cara untuk menjaga biaya dan sumber daya tetap rendah sambil juga mengidentifikasi bidang tempat entitas PII ditemukan. 

 Ketika Anda memilih untuk mendeteksi bidang yang berisi PII, Anda dapat mengurangi biaya dan meningkatkan kinerja dengan mengambil sampel sebagian baris. Memilih opsi ini akan memungkinkan Anda untuk menentukan opsi tambahan: 
+  **Bagian sampel:** Ini memungkinkan Anda untuk menentukan persentase baris untuk sampel. Misalnya, jika Anda memasukkan '50', Anda menentukan bahwa Anda menginginkan 50 persen baris yang dipindai untuk entitas PII. 
+  **Ambang deteksi:** Ini memungkinkan Anda menentukan persentase baris yang berisi entitas PII agar seluruh kolom diidentifikasi memiliki entitas PII. Misalnya, jika Anda memasukkan '10', Anda menentukan bahwa jumlah entitas PII, Telepon AS, dalam baris yang dipindai harus 10 persen atau lebih besar agar bidang tersebut diidentifikasi memiliki entitas PII, Telepon AS. Jika persentase baris yang berisi entitas PII kurang dari 10 persen, bidang tersebut tidak akan diberi label memiliki entitas PII, Telepon AS, di dalamnya. 

## Memilih entitas PII untuk dideteksi
<a name="choose-pii-entities"></a>

 Jika Anda memilih **Deteksi PII di setiap sel**, Anda dapat memilih salah satu dari tiga opsi: 
+ Semua pola PII yang tersedia - ini termasuk AWS entitas.
+ Pilih kategori - ketika Anda memilih kategori, pola PII akan secara otomatis menyertakan pola dalam kategori yang Anda pilih.
+ Pilih pola tertentu - Hanya pola yang Anda pilih yang akan terdeteksi.

 Untuk daftar lengkap tipe data sensitif terkelola, lihat [Tipe data terkelola](https://docs.aws.amazon.com/glue/latest/dg/sensitive-data-managed-data-types.html). 

### Pilih dari semua pola PII yang tersedia
<a name="w2aac33c23c21c11"></a>

 Jika Anda memilih **Semua pola PII yang tersedia**, pilih entitas yang telah ditentukan sebelumnya oleh. AWS Anda dapat memilih satu, lebih dari satu, atau semua entitas. 

![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/pii-select-entities-to-detect.png)


### Pilih kategori
<a name="w2aac33c23c21c15"></a>

 Jika Anda memilih **Pilih kategori** sebagai pola PII untuk dideteksi, Anda dapat memilih dari opsi di menu tarik-turun. Perhatikan bahwa beberapa entitas dapat termasuk dalam lebih dari satu kategori. Misalnya, *nama Orang adalah* entitas yang termasuk dalam kategori *Universal* dan *HIPAA*. 
+  Universal (contoh: Email, Kartu Kredit) 
+  HIPAA (contoh: Surat Izin Mengemudi AS, Kode Sistem Pengkodean Prosedur Umum Kesehatan (HCPCS)) 
+  Jaringan (contoh: Alamat IP, Alamat MAC) 
+ Argentina
+ Australia
+ Austria
+ Belgium
+ Bosnia
+ Bulgaria
+ Kanada
+ Chili
+ Kolombia
+ Croatia
+ Cyprus
+ Ceko
+ Denmark
+ Estonia
+ Finland
+ France
+ Germany
+ Greece
+ Hungary
+ Ireland
+ Korea
+ Jepang
+ Meksiko
+ Netherlands
+ Selandia Baru
+ Norwegia
+ Portugal
+ Romania
+ Singapura
+ Slovakia
+ Slovenia
+ Spain
+ Sweden
+ Swiss
+ Turki
+ Ukraina
+ Amerika Serikat
+ Britania Raya
+ Venezuela

### Pilih pola tertentu
<a name="w2aac33c23c21c19"></a>

 Jika Anda memilih **Pilih pola tertentu sebagai pola** PII yang akan dideteksi, Anda dapat mencari atau menelusuri dari daftar pola yang telah Anda buat, atau membuat pola entitas deteksi baru. 

 Langkah-langkah di bawah ini menjelaskan cara membuat pola kustom baru untuk mendeteksi data sensitif. Anda akan membuat pola kustom dengan memasukkan nama untuk pola kustom, menambahkan ekspresi reguler, dan secara opsional, menentukan kata-kata konteks. 

 

 

1.  Untuk membuat pola baru, klik tombol **Create new**.   
![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/detectpii-create-new.png)

1.  Di halaman Create detection entity, masukkan nama entitas dan ekspresi reguler. Ekspresi reguler (Regex) adalah apa yang AWS Glue akan digunakan untuk mencocokkan entitas. 

1.  Klik **Validasi**. Jika validasi berhasil, Anda akan melihat pesan konfirmasi yang menyatakan bahwa string adalah ekspresi reguler yang valid. Jika validasi tidak berhasil, Anda akan melihat pesan yang menyatakan bahwa string tidak sesuai dengan pemformatan yang tepat dan literal karakter, operator, atau konstruksi yang diterima. 

1.  Anda dapat memilih untuk menambahkan kata-kata Konteks selain ekspresi reguler. Kata-kata konteks dapat meningkatkan kemungkinan kecocokan. Ini dapat berguna dalam kasus di mana nama bidang tidak deskriptif entitas. Misalnya, nomor jaminan sosial dapat diberi nama 'SSN' atau 'SS'. Menambahkan kata-kata konteks ini dapat membantu mencocokkan entitas. 

1.  Klik **Buat** untuk membuat entitas deteksi. Entitas apa pun yang dibuat terlihat di AWS Glue Studio konsol. Klik **entitas Deteksi** di menu navigasi sebelah kiri. 

    Anda dapat mengedit, menghapus, atau membuat entitas deteksi dari halaman **entitas Deteksi**. Anda juga dapat mencari pola menggunakan bidang pencarian. 

## Menentukan tingkat sensitivitas deteksi
<a name="sensitive-data-sensitivity"></a>

 Anda dapat mengatur tingkat sensitivitas saat menggunakan mendeteksi data sensitif. 
+  **Tinggi** — (Default) Mendeteksi lebih banyak entitas untuk kasus penggunaan yang memerlukan tingkat sensitivitas yang lebih tinggi. Semua AWS Glue pekerjaan yang dibuat setelah November 2023 secara otomatis ikut serta dalam pengaturan ini. 
+  **Rendah** - Mendeteksi lebih sedikit entitas dan mengurangi positif palsu. 

![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/detect-sensitve-data-sensitvity-new.png)


## Memilih apa yang harus dilakukan dengan data PII yang diidentifikasi
<a name="choose-action-pii"></a>

 Jika Anda memilih untuk mendeteksi PII di seluruh sumber data, Anda dapat memilih tindakan global untuk diterapkan: 
+  **Perkaya data dengan hasil deteksi:** Jika Anda memilih Deteksi PII di setiap sel, Anda dapat menyimpan entitas yang terdeteksi ke dalam kolom baru. 
+  **Menyunting teks yang terdeteksi:** Anda dapat mengganti nilai PII yang terdeteksi dengan string yang Anda tentukan di bidang input teks Mengganti opsional. Jika tidak ada string yang ditentukan, entitas PII yang terdeteksi diganti dengan '\$1\$1\$1\$1\$1\$1\$1'. 
+  **Menyunting sebagian teks yang terdeteksi:** Anda dapat mengganti bagian dari nilai PII yang terdeteksi dengan string yang Anda pilih. Ada dua opsi yang mungkin: membiarkan ujungnya terbuka kedok atau menutupi dengan memberikan pola regex eksplisit. Fitur ini tidak tersedia di AWS Glue 2.0. 
+  **Terapkan hash kriptografi:** Anda dapat meneruskan nilai PII yang terdeteksi ke fungsi hash kriptografi SHA-256 dan mengganti nilainya dengan output fungsi. 

![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/detect-sensitive-data-global-action.png)


### Perbedaan antara AWS Glue versi 2.0 dan 3.0\$1
<a name="sensitive-data-detection-glue-versions"></a>

 AWS Glue2.0 pekerjaan akan mengembalikan yang baru DataFrame dengan informasi PII yang terdeteksi untuk setiap kolom di kolom tambahan. Setiap redaksi atau pekerjaan hash terlihat dalam AWS Glue skrip di tab visual. 

 AWS GluePekerjaan 3.0 dan 4.0 akan mengembalikan yang baru DataFrame dengan kolom tambahan yang sama ini. Sebuah kunci baru untuk “ActionUsed” hadir dan dapat menjadi salah satu dari`DETECT`,, `REDACT``PARTIAL_REDACT`, atau. `SHA256_HASH` Jika tindakan masking dipilih, DataFrame akan mengembalikan data dengan data sensitif yang disamarkan. 

## Menambahkan penggantian aksi berbutir halus
<a name="sensitive-data-fine-grained-actions-override"></a>

 Deteksi tambahan dan pengaturan tindakan dapat ditambahkan ke tabel penggantian tindakan berbutir halus. Ini memungkinkan Anda untuk: 
+  **Sertakan atau kecualikan kolom tertentu dari deteksi** - Skema yang disimpulkan pada sumber data akan mengisi tabel dengan kolom yang tersedia. 
+  **Tentukan setelan spesifik yang lebih halus daripada menggunakan tindakan global** — Misalnya, Anda dapat menentukan setelan teks redaksi yang berbeda untuk jenis entitas yang berbeda. 
+  **Tentukan tindakan yang berbeda dari tindakan global** — Jika tindakan yang berbeda ingin diterapkan pada tipe data sensitif yang berbeda, itu dapat dilakukan di sini. Perhatikan bahwa dua edit-in-place tindakan berbeda (redaksi dan hashing) tidak dapat digunakan pada kolom yang sama, tetapi deteksi selalu dapat digunakan. 

![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/detect-sensitive-data-fga-overrides.png)


# Mengelola pekerjaan ETL dengan AWS Glue Studio
<a name="managing-jobs-chapter"></a>

Anda dapat menggunakan antarmuka grafis sederhana AWS Glue Studio untuk mengelola pekerjaan ETL Anda. Dengan menggunakan menu navigasi, pilih **Tugas** untuk melihat halaman **Tugas**. Di halaman ini, Anda dapat melihat semua pekerjaan yang telah Anda buat baik dengan AWS Glue Studio atau AWS Glue konsol. Anda dapat melihat, mengelola, dan menjalankan tugas Anda di halaman ini. 

**Topics**
+ [Memulai eksekusi tugas](#start-jobs)
+ [Jadwalkan eksekusi tugas](#schedule-jobs)
+ [Mengelola jadwal tugas](#manage-schedules)
+ [Menghentikan eksekusi tugas](#stop-jobs)
+ [Melihat tugas Anda](#view-jobs)
+ [Melihat informasi untuk eksekusi tugas terbaru](#view-job-run-details)
+ [Lihat skrip tugas](#view-job-script)
+ [Mengubah properti tugas](#edit-jobs-properties)
+ [Simpan tugas](#save-job)
+ [Mengkloning tugas](#clone-jobs)
+ [Menghapus tugas](#delete-jobs)

## Memulai eksekusi tugas
<a name="start-jobs"></a>

DiAWS Glue Studio, Anda dapat menjalankan pekerjaan Anda sesuai permintaan. Sebuah tugas dapat berjalan beberapa kali, dan setiap kali Anda menjalankan tugas, AWS Glue mengumpulkan informasi tentang aktivitas dan performa tugas tersebut. Informasi ini disebut sebagai *eksekusi tugas* dan diidentifikasi oleh ID eksekusi tugas.

Anda dapat memulai pekerjaan dengan cara-cara berikut diAWS Glue Studio:
+ Pada halaman **Tugas**, pilih tugas yang ingin Anda mulai, kemudian pilih tombol **Jalankan tugas**.
+ Jika Anda melihat sebuah tugas di editor visual dan tugas tersebut telah disimpan, maka Anda dapat memilih opsi **Jalankan** untuk memulai eksekusi tugas.

Untuk informasi selengkapnya tentang eksekusi tugas, lihat [Bekerja dengan Tugas pada Konsol AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/console-jobs.html) di *Panduan Developer AWS Glue *.

## Jadwalkan eksekusi tugas
<a name="schedule-jobs"></a>

DiAWS Glue Studio, Anda dapat membuat jadwal agar pekerjaan Anda berjalan pada waktu tertentu. Anda dapat menentukan batasan-batasan, seperti berapa kali tugas berjalan, pada hari apa tugas tersebut berjalan, dan jam berapa berjalan. Batasan-batasan ini didasarkan pada `cron` dan memiliki keterbatasan yang sama seperti `cron`. Sebagai contoh, jika Anda memilih untuk menjalankan tugas Anda pada hari ke 31 setiap bulan, ingatlah bahwa ada bulan yang tidak terdiri dari 31 hari. Untuk informasi selengkapnya tentang `cron`, lihat [Ekspresi Cron](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html#CronExpressions) dalam *Panduan Developer AWS Glue *. 

**Untuk menjalankan tugas sesuai jadwal**

1. Buat sebuah jadwal tugas menggunakan salah satu metode berikut:
   + Pada halaman **Tugas**, pilih tugas yang ingin Anda buatkan jadwal, pilih **Tindakan**, lalu pilih **Jadwalkan tugas**.
   + Jika Anda melihat sebuah tugas di editor visual dan tugas tersebut telah disimpan, pilih tab **Jadwal**. Kemudian pilih **Buat Jadwal**.

1. Di halaman **Jadwalkan eksekusi tugas**, masukkan informasi berikut:
   + **Nama**: Masukkan nama jadwal tugas Anda. 
   + **Frekuensi**: Masukkan frekuensi untuk jadwal tugas. Anda dapat memilih yang berikut ini: 
     + **Jaman**: Tugas akan berjalan setiap jam, dimulai pada menit tertentu. Anda dapat menentukan **Menit** dari jam di mana tugas tersebut harus berjalan. Secara default, ketika Anda memilih per jam, tugas berjalan pada awal jam (menit 0).
     + **Harian**: Tugas akan berjalan setiap hari, dimulai pada suatu waktu. Anda dapat menentukan **Menit** dari jam di mana tugas tersebut harus berjalan dan **Jam mulai** untuk tugas. Jam ditentukan dengan menggunakan jam 23-jam, di mana Anda menggunakan angka 13 sampai 23 untuk jam sore hari. Nilai default untuk menit dan jam adalah 0, yang berarti bahwa jika Anda memilih **Per Hari**, maka tugas secara default akan berjalan pada tengah malam.
     + **Mingguan**: Tugas akan berjalan setiap minggu pada satu atau beberapa hari. Selain pengaturan yang sama sebagaimana yang dijelaskan sebelumnya untuk Per Hari, Anda dapat memilih hari dalam seminggu di mana tugas akan berjalan. Anda dapat memilih satu hari atau beberapa hari.
     + **Bulanan**: Tugas akan berjalan setiap bulan pada hari tertentu. Selain pengaturan yang sama yang dijelaskan sebelumnya untuk Harian, Anda dapat memilih hari bulan di mana tugas akan berjalan. Tentukan hari dengan nilai numerik dari 1 sampai 31. Jika Anda memilih hari yang tidak ada dalam satu bulan, misalnya tanggal 30 Februari, maka tugas tidak akan berjalan di bulan itu.
     + **Kustom**: Masukkan ekspresi untuk jadwal tugas Anda menggunakan sintaksis `cron`. Ekspresi cron memungkinkan Anda membuat jadwal yang lebih rumit, seperti hari terakhir setiap bulan (bukan hari tertentu dalam sebulan) atau setiap bulan ketiga pada tanggal 7 dan 21 dalam sebulan. 

       Lihat [Ekspresi Cron](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html#CronExpressions) di *Panduan Developer AWS Glue *
   + **Deskripsi**: Anda dapat secara opsional memasukkan deskripsi untuk jadwal tugas Anda. Jika Anda berencana untuk menggunakan jadwal yang sama untuk beberapa tugas, dengan memiliki deskripsi akan membuatnya menjadi lebih mudah untuk menentukan jadwal tugas.

1. Pilih **Membuat jadwal** untuk menyimpan jadwal tugas.

1. Setelah Anda membuat jadwal, pesan sukses akan muncul di bagian atas halaman konsol tersebut. Anda dapat memilih **Detail tugas** pada banner ini untuk melihat detail tugas. Ini akan membuka halaman editor tugas visual, dengan tab **Jadwal** yang dipilih.

## Mengelola jadwal tugas
<a name="manage-schedules"></a>

Setelah Anda membuat jadwal untuk sebuah tugas, Anda dapat membuka tugas tersebut di editor visual dan memilih tab **Jadwal** untuk mengelola jadwalnya.

Pada tab **Jadwal** editor visual, Anda dapat melakukan tugas-tugas berikut:
+ Membuat sebuah jadwal baru.

  Pilih **Membuat jadwal kerja**, lalu masukkan informasi untuk jadwal Anda seperti yang dijelaskan di [Jadwalkan eksekusi tugas](#schedule-jobs).
+ Edit jadwal yang ada.

  Pilih jadwal yang ingin diedit, lalu pilih **Tindakan** diikuti dengan **Edit jadwal**. Ketika Anda memilih untuk mengedit jadwal yang ada, **Frekuensi** menunjukkan sebagai **Kustom**, dan jadwal ditampilkan sebagai ekspresi `cron`. Anda dapat mengubah ekspresi `cron` tersebut, atau menentukan sebuah jadwal baru menggunakan tombol **Frekuensi**. Setelah Anda selesai melakukan perubahan, pilih **Perbarui jadwal**.
+ Menjeda jadwal aktif.

  Pilih sebuah jadwal yang aktif, lalu pilih **Tindakan** diikuti dengan **Jeda jadwal**. Jadwal akan langsung dinonaktifkan. Pilih tombol refresh (reload) untuk melihat status jadwal tugas yang sudah diperbarui.
+ Lanjutkan jadwal yang dijeda.

  Pilih sebuah jadwal yang dinonaktifkan, lalu pilih **Tindakan** diikuti dengan **Lanjutkan jadwal**. Jadwal akan langsung diaktifkan. Pilih tombol refresh (reload) untuk melihat status jadwal tugas yang sudah diperbarui.
+ Menghapus sebuah jadwal.

  Pilih sebuah jadwal yang ingin Anda hapus, kemudian pilih **Tindakan** diikuti dengan **Hapus jadwal**. Jadwal akan langsung dihapus. Pilih tombol refresh (reload) untuk melihat daftar jadwal tugas yang sudah diperbarui. Jadwal akan menunjukkan status **Menghapus** sehingga jadwal benar-benar telah dihapus.

## Menghentikan eksekusi tugas
<a name="stop-jobs"></a>

Anda dapat menghentikan sebuah tugas sebelum eksekusi tugas selesai. Anda dapat memilih opsi ini jika Anda tahu bahwa tugas tidak dikonfigurasi dengan benar, atau jika tugas membutuhkan waktu terlalu lama untuk diselesaikan.

Pada halaman **Pemantauan**, di daftar **Eksekusi tugas**, pilih tugas yang ingin Anda hentikan, pilih **Tindakan**, lalu pilih **Hentikan eksekusi**. 

## Melihat tugas Anda
<a name="view-jobs"></a>

Anda dapat melihat semua tugas Anda di halaman **Tugas**. Anda dapat mengakses halaman ini dengan memilih **Tugas** di panel navigasi.

Pada halaman **Tugas**, Anda dapat melihat semua tugas yang dibuat di akun Anda. Daftar **Tugas Anda** menampilkan nama tugas, jenisnya, status eksekusi terakhir dari tugas tersebut, dan tanggal di mana tugas dibuat dan terakhir diubah. Anda dapat memilih nama tugas untuk melihat informasi detail untuk tugas tersebut.

Anda juga dapat menggunakan dasbor Pemantauan untuk melihat semua tugas Anda. Anda dapat mengakses dasbor tersebut dengan memilih **Pemantauan** di panel navigasi. 

### Menyesuaikan tampilan tugas
<a name="view-jobs-customize"></a>

Anda dapat menyesuaikan bagaimana tugas ditampilkan dalam bagian **Tugas Anda** dari halaman **Tugas**. Selain itu, Anda dapat memasukkan teks di bidang teks pencarian untuk hanya menampilkan tugas dengan nama yang berisi teks tersebut.

Jika Anda memilih ikon pengaturan ![\[\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/manage-console-icon-settings.png) di bagian **Pekerjaan Anda**, Anda dapat menyesuaikan cara AWS Glue Studio menampilkan informasi dalam tabel. Anda dapat memilih untuk mengurung baris teks di layar, mengubah jumlah tugas yang ditampilkan pada halaman, dan menentukan kolom mana yang akan ditampilkan.

## Melihat informasi untuk eksekusi tugas terbaru
<a name="view-job-run-details"></a>

Tugas dapat berjalan beberapa kali karena ada data baru yang ditambahkan di lokasi sumber. Setiap kali tugas berjalan, ID unik ditetapkan pada eksekusi tugas, dan informasi tentang eksekusi tugas dikumpulkan. Anda dapat melihat informasi ini dengan menggunakan cara berikut:
+ Pilih tab **Eksekusi** pada editor visual untuk melihat informasi eksekusi tugas untuk tugas yang saat ini ditampilkan.

  Pada tab **Eksekusi** (halaman **Eksekusi tugas terbaru**), ada kartu sebuah untuk setiap eksekusi tugas. Informasi yang ditampilkan pada tab **Eksekusi** termasuk:
  + ID eksekusi tugas
  + Jumlah percobaan untuk menjalankan tugas ini
  + Status dari eksekusi tugas
  + Waktu mulai dan akhir eksekusi tugas
  + Waktu aktif eksekusi tugas
  + Tautan ke file berkas log tugas
  + Tautan ke file berkas log kesalahan tugas
  + Kesalahan yang dikembalikan untuk tugas yang gagal
+ Anda dapat memilih pekerjaan yang dijalankan untuk melihat informasi tambahan tentang pekerjaan tersebut, termasuk yang berikut ini:
  + **Argumen masukan**
  + **Log terus menerus**
  + **Metrik** — Anda dapat melihat visualisasi metrik dasar. Untuk informasi selengkapnya tentang metrik yang disertakan, lihat[Melihat Amazon CloudWatch metrik untuk menjalankan pekerjaan Spark](view-job-runs.md#monitoring-job-run-metrics).
  + **Spark UI** - Anda dapat memvisualisasikan log Spark untuk pekerjaan Anda di UI Spark. Untuk informasi selengkapnya tentang penggunaan UI Web Spark, lihat[Memantau pekerjaan menggunakan UI web Apache Spark](monitor-spark-ui.md). Aktifkan fitur ini dengan mengikuti prosedur di[Mengaktifkan UI web Apache Spark untuk pekerjaan AWS Glue](monitor-spark-ui-jobs.md).

Anda dapat memilih **Lihat detail** untuk melihat informasi serupa di halaman detail menjalankan pekerjaan. Atau, Anda dapat menavigasi ke halaman rincian pekerjaan dijalankan melalui halaman **Monitoring**. Di panel navigasi, pilih **Pemantauan**. Gulir ke bawah ke bagian daftar **Eksekusi tugas**. Pilih tugas dan kemudian pilih **Tampilkan detail eksekusi**. Kandungan dijelaskan dalam [Melihat detail sebuah eksekusi tugas](view-job-runs.md#monitoring-job-run-details).

Untuk informasi selengkapnya tentang log tugas, lihat [Melihat log eksekusi tugas](view-job-runs.md#monitoring-job-run-logs).

## Lihat skrip tugas
<a name="view-job-script"></a>

Setelah Anda memberikan informasi untuk semua node dalam pekerjaanAWS Glue Studio, buat skrip yang digunakan oleh pekerjaan untuk membaca data dari sumber, mengubah data, dan menulis data di lokasi target. Jika Anda menyimpan tugas tersebut, maka Anda dapat melihat skrip ini kapan saja.

**Untuk melihat skrip yang dihasilkan untuk tugas Anda**

1. Pilih **Tugas** di panel navigasi.

1. Pada halaman **Tugas**, di daftar **Tugas Anda**, pilih nama tugas yang ingin Anda tinjau. Atau, Anda dapat memilih sebuah tugas dalam daftar tersebut, pilih menu **Tindakan**, dan kemudian pilih **Edit tugas**.

1. Pada halaman editor visual, pilih tab **Skrip** di bagian atas untuk melihat skrip tugas. 

   Jika Anda ingin mengedit skrip tugas, lihat [AWS Glue panduan pemrograman](edit-script.md).

## Mengubah properti tugas
<a name="edit-jobs-properties"></a>

Simpul dalam diagram tugas menentukan tindakan yang dilakukan oleh tugas, tetapi ada beberapa properti yang juga dapat Anda konfigurasi untuk tugas tersebut. Properti ini menentukan lingkungan di mana tugas itu berjalan, sumber daya yang digunakan, pengaturan ambang batas, pengaturan keamanan, dan banyak lagi.

**Untuk menyesuaikan lingkungan eksekusi tugas**

1. Pilih **Tugas** di panel navigasi.

1. Pada halaman **Tugas**, di daftar **Tugas Anda**, pilih nama tugas yang ingin Anda tinjau.

1. Pada halaman editor visual, pilih tab **Detail Tugas** di bagian atas panel pengeditan tugas. 

1. Ubah properti tugas, sesuai kebutuhan. 

   Untuk informasi selengkapnya tentang properti tugas, lihat [Mendefinisikan Properti Tugas](https://docs.aws.amazon.com/glue/latest/dg/add-job.html#create-job) di *Panduan Developer AWS Glue *. 

1. Perluas bagian **Properti lanjutan** jika Anda perlu menentukan properti tugas tambahan ini:
   + **Nama berkas skrip** — Nama file yang menyimpan skrip tugas di Amazon S3.
   + **Path skrip** — Lokasi Amazon S3 di mana skrip tugas disimpan.
   + **Metrik Job** — (Tidak tersedia untuk pekerjaan shell Python) Mengaktifkan pembuatan Amazon CloudWatch metrik saat pekerjaan ini berjalan.
   + **Pencatatan berkelanjutan** — (Tidak tersedia untuk pekerjaan shell Python) Mengaktifkan logging berkelanjutan CloudWatch, sehingga log tersedia untuk dilihat sebelum pekerjaan selesai.
   + **Jalur log **UI** Spark dan Spark UI** — (Tidak tersedia untuk pekerjaan shell Python) Mengaktifkan penggunaan Spark UI untuk memantau pekerjaan ini dan menentukan lokasi untuk log UI Spark.
   + **Konkurensi maksimum** — Mengatur jumlah maksimum eksekusi bersamaan yang diperbolehkan untuk tugas ini.
   + **Path sementara** — Lokasi direktori kerja di Amazon S3 di mana hasil antara sementara ditulis ketika AWS Glue menjalankan skrip tugas. 
   + **Ambang batas notifikasi penundaan (menit)** — Menentukan ambang batas penundaan untuk tugas. Jika pekerjaan berjalan lebih lama dari yang ditentukan oleh ambang batas, maka AWS Glue kirimkan pemberitahuan penundaan untuk pekerjaan tersebut CloudWatch.
   + **Konfigurasi keamanan** dan **Enkripsi sisi server** — Gunakan bidang ini untuk memilih opsi enkripsi untuk tugas tersebut.
   + **Gunakan Katalog Data Glue sebagai metastore Hive** — Pilih opsi ini jika Anda ingin menggunakan opsi AWS Glue Data Catalog ini sebagai alternatif untuk Apache Hive Metastore.
   + **Koneksi jaringan tambahan** — Untuk sumber data di VPC, Anda dapat menentukan koneksi tipe `Network` untuk memastikan bahwa tugas Anda mengakses data Anda melalui VPC.
   + **Jalur pustaka Python, Jalur** **jar dependen** (Tidak tersedia untuk pekerjaan shell Python), atau **Jalur file yang direferensikan** - Gunakan bidang ini untuk menentukan lokasi file tambahan yang digunakan oleh pekerjaan saat menjalankan skrip.
   + **Parameter Tugas** — Anda dapat menambahkan satu set pasangan nilai-kunci yang diberikan sebagai parameter bernama untuk skrip tugas. Dalam panggilan Python ke AWS Glue API s, yang terbaik adalah meneruskan parameter secara eksplisit berdasarkan nama. Untuk informasi selengkapnya tentang menggunakan parameter di skrip tugas, lihat [Memberikan dan Mengakses Parameter Python di AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html#aws-glue-programming-python-calling-parameters) di *Panduan Developer AWS Glue *. 
   + **Tag** — Anda dapat menambahkan tanda ke tugas tersebut untuk membantu Anda mengorganisasi dan mengidentifikasinya.

1. Setelah Anda selesai memodifikasi properti tugas, simpan tugas tersebut.

### Simpan file shuffle Spark di Amazon S3
<a name="configure-shuffle"></a>

Beberapa pekerjaan ETL memerlukan membaca dan menggabungkan informasi dari beberapa partisi, misalnya, saat menggunakan transformasi gabungan. Operasi ini disebut sebagai *shuffling*. Selama shuffle, data ditulis ke disk dan ditransfer ke seluruh jaringan. Dengan AWS Glue versi 3.0, Anda dapat mengonfigurasi Amazon S3 sebagai lokasi penyimpanan untuk file-file ini. AWS Gluemenyediakan pengelola acak yang menulis dan membaca file acak ke dan dari Amazon S3. Menulis dan membaca file shuffle dari Amazon S3 lebih lambat (sebesar 5% -20%) dibandingkan dengan disk lokal (atau Amazon EBS yang sangat dioptimalkan untuk Amazon). EC2 Namun, Amazon S3 menyediakan kapasitas penyimpanan tak terbatas, jadi Anda tidak perlu khawatir tentang kesalahan "`No space left on device`" saat menjalankan pekerjaan Anda.

**Untuk mengonfigurasi pekerjaan Anda untuk menggunakan Amazon S3 untuk file acak**

1. Pada halaman **Pekerjaan**, dalam daftar **Pekerjaan Anda**, pilih nama pekerjaan yang ingin Anda ubah.

1. Pada halaman editor visual, pilih tab **Detail Tugas** di bagian atas panel pengeditan tugas. 

   Gulir ke bawah ke bagian **Parameter Job**.

1. Tentukan pasangan kunci-nilai berikut.
   + `--write-shuffle-files-to-s3` — `true`

     Ini adalah parameter utama yang mengonfigurasi pengelola acak AWS Glue untuk menggunakan bucket Amazon S3 untuk menulis dan membaca data acak. Secara default, parameter ini memiliki nilai`false`.
   + (Opsional) `--write-shuffle-spills-to-s3` - `true`

     Parameter ini memungkinkan Anda untuk membongkar file tumpahan ke bucket Amazon S3, yang memberikan ketahanan tambahan untuk pekerjaan Spark Anda di. AWS Glue Ini hanya diperlukan untuk beban kerja besar yang menumpahkan banyak data ke disk. Secara default, parameter ini memiliki nilai`false`.
   + (Opsional) `--conf spark.shuffle.glue.s3ShuffleBucket` - `S3://<shuffle-bucket>`

     Parameter ini menentukan bucket Amazon S3 yang akan digunakan saat menulis file shuffle. Jika Anda tidak mengatur parameter ini, lokasi adalah `shuffle-data` folder di lokasi yang ditentukan untuk **Temporary path** (`--TempDir`).
**catatan**  
Pastikan lokasi bucket shuffle sama dengan Wilayah AWS tempat pekerjaan berjalan.   
Selain itu, layanan shuffle tidak membersihkan file setelah pekerjaan selesai berjalan, jadi Anda harus mengonfigurasi kebijakan siklus hidup penyimpanan Amazon S3 di lokasi bucket acak. Untuk informasi selengkapnya, lihat [Mengelola siklus hidup penyimpanan](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) di Panduan Pengguna *Amazon S3*.

## Simpan tugas
<a name="save-job"></a>

Sebuah callout **Tugas belum disimpan** berwarna merah ditampilkan di sebelah kiri tombol **Simpan** sampai Anda menyimpan tugas. 

![\[Sebuah oval merah dengan label "Tugas belum disimpan" di sebelah kiri tombol Simpan.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/edit-graph-callout-not-saved_GA.png)


**Untuk menyimpan tugas Anda**

1. Berikan semua informasi yang diperlukan dalam tab **Visual** dan **Detail Tugas**.

1. Pilih tombol **Simpan**.

   Setelah Anda menyimpan tugas, callout 'tidak disimpan' akan berubah untuk menampilkan waktu dan tanggal tugas terakhir disimpan.

Jika Anda keluar AWS Glue Studio sebelum menyimpan pekerjaan Anda, saat berikutnya Anda masukAWS Glue Studio, pemberitahuan akan muncul. Notifikasi tersebut menunjukkan bahwa ada tugas yang belum disimpan, dan menanyakan apakah Anda ingin memulihkannya. Jika Anda memilih untuk memulihkan tugas tersebut, Anda dapat melanjutkan untuk mengeditnya.

### Memecahkan masalah kesalahan saat menyimpan tugas
<a name="save-job-troubleshooting"></a>

Jika Anda memilih tombol **Simpan**, tetapi tugas Anda tidak memiliki beberapa informasi yang diperlukan, dan kemudian muncul keterangan merah pada tab di mana informasi tersebut hilang. Nomor dalam callout menunjukkan berapa banyak bidang hilang yang terdeteksi.

![\[Sebuah tangkapan layar yang menampilkan tab untuk panel editor visual untuk Tugas bernama "Tugas tanpa judul" dengan callout berlabel 2 pada tab Visual dan callout berlabel 1 pada tab Detail Tugas.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/screenshot-save-job-error-in-graph-GA2.png)

+ Jika sebuah simpul di editor visual tidak dikonfigurasi dengan benar, maka tab **Visual** akan menunjukkan callout warna merah, dan simpul dengan kesalahan akan menampilkan simbol peringatan ![\[A red triangle with an exclamation point in the center\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/edit-graph-warning_icon.png).

  1. Pilih simpul. Di panel detail simpul, callout warna merah muncul di tab di mana ada informasi yang hilang atau salah. 

  1. Pilih tab di panel detail simpul yang menunjukkan callout warna merah, dan kemudian cari bidang yang bermasalah, yang disorot. Pesan kesalahan di bawah bidang memberikan informasi tambahan tentang masalah yang terjadi.  
![\[Sebuah tangkapan layar menunjukkan tab Visual di editor tugas, yang ditandai dengan callout dengan label 2. Simpul sumber data, yang ditandai dengan label peringatan, dipilih. Dalam panel detail simpul, tab properti Sumber data memiliki callout dengan label 2, dan dipilih. Dua bidang, yaitu Basis data dan Tabel diuraikan dengan warna merah dan memiliki pesan di bawahnya yang menunjukkan nilai yang diperlukan dalam bidang-bidang tersebut.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/screenshot-save-job-error-in-graph2.png)
+ Jika ada masalah pada properti tugas, tab **Detail tugas** akan menunjukkan callout warna merah. Pilih tab itu dan cari bidang yang bermasalah, yang disorot. Pesan kesalahan di bawah bidang tersebut memberikan informasi tambahan tentang masalah yang terjadi.  
![\[Sebuah tangkapan layar menampilkan tab detail Tugas di editor tugas, yang ditandai dengan callout dengan label 1. Kolom "IAM Role" diuraikan dengan warna merah dan memiliki pesan di bawahnya yang menunjukkan nilai yang diperlukan.\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/images/screenshot-save-job-error-in-job-details.png)

## Mengkloning tugas
<a name="clone-jobs"></a>

Anda dapat menggunakan tindakan **Klon tugas** untuk menyalin tugas yang sudah ada ke sebuah tugas baru.

**Untuk membuat sebuah tugas baru dengan menyalin tugas yang sudah ada**

1. Pada halaman **Tugas**, di daftar **Tugas Anda**, pilih tugas yang ingin Anda duplikasi.

1. Dari menu **Tindakan**, pilih **Klon tugas**.

1. Masukkan nama untuk tugas baru tersebut. Anda kemudian dapat menyimpan atau mengedit tugas tersebut.

## Menghapus tugas
<a name="delete-jobs"></a>

Anda dapat menghapus tugas yang tidak lagi diperlukan. Anda dapat menghapus satu atau beberapa tugas dalam satu operasi.

**Untuk menghapus pekerjaan dari AWS Glue Studio**

1. Pada halaman **Tugas**, di daftar **Tugas Anda**, pilih tugas yang ingin Anda hapus.

1. Dari menu **Tindakan**, pilih **Hapus tugas**.

1. Verifikasi bahwa Anda ingin menghapus tugas tersebut dengan memasukkan **delete**.

Anda juga dapat menghapus tugas yang tersimpan saat melihat tab **Detail tugas** untuk tugas tersebut di editor visual.