

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

# Langkah 2: Pilih sumber data dan pengklasifikasi
<a name="define-crawler-choose-data-sources"></a>

Selanjutnya, konfigurasikan sumber data dan pengklasifikasi untuk crawler.

Untuk informasi selengkapnya tentang sumber data yang didukung, lihat[Sumber data yang didukung untuk crawling](crawler-data-stores.md).

**Konfigurasi sumber data**  
Pilih opsi yang sesuai untuk **Apakah data Anda sudah dipetakan ke AWS Glue tabel?** pilih 'Belum lagi' atau 'Ya'. Secara default, 'Belum lagi' dipilih.   
Crawler dapat mengakses penyimpanan data secara langsung sebagai sumber perayapan, atau crawler dapat menggunakan tabel yang ada di Katalog Data sebagai sumbernya. Jika crawler tersebut menggunakan tabel katalog yang ada, maka crawler melakukan perayapan pada penyimpanan data yang ditentukan oleh tabel katalog tersebut.   
+ Belum: Pilih satu atau beberapa sumber data yang akan dirayapi. Sebuah crawler dapat melakukan perayapan pada beberapa penyimpanan data dari berbagai jenis (Amazon S3, JDBC, dan sebagainya).

  Anda dapat mengkonfigurasi hanya satu penyimpanan data dalam satu waktu. Setelah Anda telah memberikan informasi koneksi dan termasuk path dan mengecualikan pola, Anda kemudian memiliki pilihan untuk menambahkan penyimpanan data yang lain.
+ Ya: Pilih tabel yang ada dari Katalog AWS Glue Data Anda. Tabel katalog menentukan penyimpanan data yang akan di-crawl. Crawler hanya dapat melakukan perayapan tabel katalog dalam satu kali eksekusi; tidak dapat dicampur jenis sumber lainnya.

  Alasan umum untuk menentukan tabel katalog sebagai sumber adalah ketika Anda membuat tabel secara manual (karena Anda sudah tahu struktur penyimpanan data-nya) dan Anda ingin sebuah crawler selalu memperbarui tabel, termasuk menambahkan partisi baru. Untuk diskusi tentang alasan yang lain, lihat [Memperbarui tabel Katalog Data yang dibuat secara manual menggunakan crawler](tables-described.md#update-manual-tables).

  Bila Anda menentukan tabel yang ada sebagai jenis sumber crawler, maka kondisi berikut berlaku:
  + Nama basis data bersifat opsional.
  + Hanya tabel katalog yang menentukan penyimpanan data Amazon S3, Amazon DynamoDB, atau Delta Lake yang diizinkan.
  + Tidak ada tabel katalog baru yang dibuat saat crawler berjalan. Tabel yang ada diperbarui sesuai kebutuhan, termasuk melakukan penambahan partisi baru.
  + Objek dihapus yang ditemukan di penyimpanan data akan diabaikan; tidak ada tabel katalog yang dihapus. Sebaliknya, crawler tersebut menulis pesan log. (`SchemaChangePolicy.DeleteBehavior=LOG`)
  + Opsi konfigurasi crawler untuk membuat satu skema tunggal untuk setiap path Amazon S3 diaktifkan secara default dan tidak dapat dinonaktifkan. (`TableGroupingPolicy`=`CombineCompatibleSchemas`) Untuk informasi lebih lanjut, lihat[Membuat skema tunggal untuk setiap jalur Amazon S3 termasuk](crawler-grouping-policy.md).
  + Anda tidak dapat mencampur tabel katalog sebagai sebuah sumber dengan jenis sumber lainnya (misalnya Amazon S3 atau Amazon DynamoDB).
  
 Untuk menggunakan tabel Delta, pertama-tama buat tabel Delta menggunakan Athena DDL atau API. AWS Glue   
 Menggunakan Athena, atur lokasi ke folder Amazon S3 Anda dan jenis tabel ke 'DELTA'.   

```
CREATE EXTERNAL TABLE database_name.table_name
LOCATION 's3://bucket/folder/'
TBLPROPERTIES ('table_type' = 'DELTA')
```
 Menggunakan AWS Glue API, tentukan jenis tabel dalam peta parameter tabel. Parameter tabel perlu menyertakan key/value pasangan berikut. Untuk informasi selengkapnya tentang cara membuat tabel, lihat [dokumentasi Boto3 untuk](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/glue/client/create_table.html) create\$1table.   

```
{
    "table_type":"delta"
}
```

**Sumber data**  
Pilih atau tambahkan daftar sumber data yang akan dipindai oleh crawler.  
 (Opsional) Jika Anda memilih JDBC sebagai sumber data, Anda dapat menggunakan driver JDBC Anda sendiri saat menentukan akses Koneksi tempat info driver disimpan. 

**Termasuk path**  
 Saat mengevaluasi apa yang harus disertakan atau dikecualikan dalam perayapan, crawler akan memulai dengan mengevaluasi penyertaan path yang diperlukan. Untuk Amazon S3, MongoDB, MongoDB Atlas, Amazon DocumentDB (dengan kompatibilitas MongoDB), dan penyimpanan data relasional, Anda harus menentukan jalur sertakan.     
Untuk penyimpanan data Amazon S3  
Pilih apakah akan menentukan jalur di akun ini atau di akun lain, lalu telusuri untuk memilih jalur Amazon S3.  
Untuk penyimpanan data Amazon S3, sertakan sintaksis path `bucket-name/folder-name/file-name.ext`. Untuk melakukan perayapan pada semua objek dalam sebuah bucket, Anda harus menentukan hanya nama bucket dalam penyertaan path. Pola pengecualian relatif terhadap penyertaan path  
Untuk penyimpanan data Delta Lake  
Tentukan satu atau beberapa jalur Amazon S3 ke tabel Delta sebagai s3:////. *bucket* *prefix* *object*  
Untuk penyimpanan data Iceberg atau Hudi  
Tentukan satu atau beberapa jalur Amazon S3 yang berisi folder dengan metadata tabel Iceberg atau Hudi sebagai s3:///. *bucket* *prefix*  
Untuk penyimpanan data Iceberg dan Hudi, Iceberg/Hudi folder tersebut mungkin terletak di folder anak dari folder root. Crawler akan memindai semua folder di bawah jalur untuk folder Hudi.  
Untuk penyimpanan data JDBC  
Masukkan*<database>*/*<schema>*/*<table>*atau*<database>*/*<table>*, tergantung pada produk database. Basis Data Oracle dan MySQL tidak mendukung skema dalam path. Anda dapat mengganti persen (%) karakter untuk *<schema>* atau*<table>*. Sebagai contoh, untuk basis data Oracle dengan pengenal sistem (SID) dari `orcl`, masukkan `orcl/%` untuk mengimpor semua tabel yang diberi nama oleh pengguna dalam koneksi yang ia miliki aksesnya.  
Bidang ini peka huruf besar dan kecil.
 Jika Anda memilih untuk membawa versi driver JDBC Anda sendiri, AWS Glue crawler akan menggunakan sumber daya dalam AWS Glue pekerjaan dan bucket Amazon S3 untuk memastikan driver yang Anda berikan dijalankan di lingkungan Anda. Penggunaan sumber daya tambahan akan tercermin di akun Anda. Driver terbatas pada properti yang dijelaskan dalam [Menambahkan AWS Glue koneksi](https://docs.aws.amazon.com/glue/latest/dg/console-connections.html).   
Untuk penyimpanan data MongoDB, MongoDB Atlas, atau Amazon DocumentDB  
Untuk MongoDB, MongoDB Atlas, dan Amazon DocumentDB (dengan kompatibilitas MongoDB), sintaksnya adalah. `database/collection`
Untuk penyimpanan data JDBC, sintaksisnya adalah `database-name/schema-name/table-name` atau `database-name/table-name`, salah satunya. Sintaksis tergantung pada apakah mesin basis data mendukung skema dalam sebuah basis data. Misalnya, untuk mesin basis data seperti MySQL atau Oracle, jangan menentukan `schema-name` di penyertaan path Anda. Anda dapat mengganti tanda persen (`%`) untuk skema atau tabel dalam penyertaan path untuk mewakili semua skema atau semua tabel dalam sebuah basis data. Anda tidak dapat mengganti tanda persen (`%`) untuk basis data dalam penyertaan path. 

**Kedalaman transversal maksimum (hanya untuk penyimpanan data Iceberg atau Hudi)**  
Menentukan kedalaman maksimum jalur Amazon S3 yang dapat dilalui crawler untuk menemukan folder metadata Iceberg atau Hudi di jalur Amazon S3 Anda. Tujuan dari parameter ini adalah untuk membatasi waktu berjalan crawler. Nilai default adalah 10 dan maksimum adalah 20.

**Mengecualikan pola**  
Hal ini memungkinkan Anda untuk mengecualikan file atau tabel tertentu dari perayapan. Pengecualian path relatif terhadap penyertaan path. Misalnya, untuk mengecualikan tabel di penyimpanan data JDBC Anda, ketik nama tabel dalam pengecualian path.   
Sebuah crawler menghubungkan ke sebuah penyimpanan data JDBC menggunakan koneksi AWS Glue yang berisi sebuah string koneksi URI JDBC. Crawler hanya memiliki akses ke objek yang ada di mesin basis data saja menggunakan nama pengguna dan kata sandi JDBC dalam koneksi AWS Glue. *Crawler hanya dapat membuat tabel yang dapat diakses melalui koneksi JDBC.* Setelah crawler mengakses mesin basis data dengan URI JDBC, penyertaan path digunakan untuk menentukan tabel di mesin basis data yang dibuat dalam Katalog Data. Sebagai contoh, dengan MySQL, jika Anda menentukan penyertaan path `MyDatabase/%`, maka semua tabel dalam `MyDatabase` dibuat dalam Katalog Data. Saat mengakses Amazon Redshift, jika Anda menentukan penyertaan path `MyDatabase/%`, maka semua tabel dalam semua skema untuk basis data `MyDatabase` akan dibuat dalam Katalog Data. Jika Anda menentukan penyertaan path `MyDatabase/MySchema/%`, maka semua tabel dalam basis data `MyDatabase` dan skema `MySchema` dibuat.   
Setelah Anda menentukan penyertaan path, maka Anda kemudian dapat mengecualikan objek dari perayapan di mana penyertaan path Anda akan dinyatakan termasuk dengan menentukan satu atau beberapa gaya pola pengecualian `glob` dengan gaya Unix. Pola ini diterapkan ke penyertaan path Anda untuk menentukan objek yang dikecualikan. Pola-pola ini juga disimpan sebagai properti tabel yang dibuat oleh crawler. AWS Glue PySpark ekstensi, seperti`create_dynamic_frame.from_catalog`, membaca properti tabel dan mengecualikan objek yang ditentukan oleh pola pengecualian.   
AWS Gluemendukung `glob` pola berikut dalam pola pengecualian.       
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/define-crawler-choose-data-sources.html)
AWS Glue menafsirkan pola pengecualian `glob` sebagai berikut:  
+ Karakter garis miring (`/`) adalah pembatas untuk memisahkan kunci Amazon S3 ke dalam sebuah hierarki folder.
+ Karakter tanda bintang (`*`) cocok dengan karakter nol atau karakter lain dari komponen nama tanpa melintasi batas folder.
+ Tanda bintang ganda (`**`) cocok dengan karakter nol karakter lainnya yang melintasi folder atau skema batas.
+ Karakter tanda tanya (`?`) cocok persis dengan satu karakter dari komponen nama.
+ Karakter garis miring terbalik (`\`) digunakan untuk meng-escape karakter yang jika tidak dapat diartikan sebagai karakter khusus. Ekspresi `\\` cocok dengan backslash tunggal, dan `\{` cocok dengan kurung kiri.
+ Kurung `[ ]` membuat ekspresi kurung yang cocok dengan karakter tunggal dari komponen nama dari satu set karakter. Misalnya, `[abc]` cocok dengan `a`, `b`, atau `c`. Tanda hubung (`-`) dapat digunakan untuk menentukan rentang, sehingga `[a-z]` menentukan rentang yang cocok dari `a` hingga `z` (inklusif). Bentuk-bentuk ini dapat dicampur, jadi [`abce-g`] cocok dengan `a`, `b`, `c`, `e`, `f`, atau `g`. Jika karakter setelah kurung (`[`) adalah tanda seru (`!`), maka ekspresi kurung dinegasikan. Misalnya, `[!a-c]` cocok dengan karakter apapun kecuali `a`, `b`, atau `c`.

  Dalam sebuah ekspresi kurung, karakter `*`, `?`, dan `\` cocok dengannya sendiri. Karakter tanda hubung (`-`) cocok dengan dirinya sendiri jika ia merupakan karakter pertama dalam kurung, atau jika ia adalah karakter pertama setelah `!` ketika Anda melakukan negasi.
+ Kurung (`{ }`) melampirkan sebuah grup subpola, di grup tersebut cocok jika setiap subpola dalam grup cocok. Karakter koma (`,`) digunakan untuk memisahkan subpola. Grup tidak dapat disarangkan.
+ Karakter titik atau titik didepan dalam nama file diperlakukan sebagai karakter normal dalam operasi pencocokan. Misalnya, pola pengecualian `*` cocok dengan nama file `.hidden`.

**Example Amazon S3 mengecualikan pola**  
Setiap pola pengecualian dievaluasi terhadap pola penyertaan. Sebagai contoh, asumsikan bahwa Anda memiliki struktur direktori Amazon S3 berikut:  

```
/mybucket/myfolder/
   departments/
      finance.json
      market-us.json
      market-emea.json
      market-ap.json
   employees/
      hr.json
      john.csv
      jane.csv
      juan.txt
```
Mengingat penyertaan path `s3://mybucket/myfolder/`, berikut ini adalah beberapa hasil sampel untuk pola pengecualian:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/define-crawler-choose-data-sources.html)

**Example Tidak termasuk subset partisi Amazon S3**  
Misalkan data Anda dipartisi berdasarkan hari, sehingga setiap hari dalam setahun berada dalam partisi Amazon S3 yang terpisah. Untuk Januari 2015, ada 31 partisi. Sekarang, untuk melakukan perayapan pada data hanya untuk minggu pertama bulan Januari, Anda harus mengecualikan semua partisi kecuali hari 1 sampai 7:  

```
 2015/01/{[!0],0[8-9]}**, 2015/0[2-9]/**, 2015/1[0-2]/**    
```
Lihatlah bagian-bagian dari pola glob ini. Bagian pertama, ` 2015/01/{[!0],0[8-9]}**`, mengecualikan semua hari yang tidak dimulai dengan "0" selain hari 08 dan hari 09 dari bulan 01 di tahun 2015. Perhatikan bahwa "\$1\$1" digunakan sebagai akhiran untuk pola angka hari dan melintasi batas folder ke folder tingkat bawah. Jika "\$1" digunakan, maka tingkat folder yang lebih rendah tidak dikecualikan.  
Bagian kedua, ` 2015/0[2-9]/**`, mengecualikan hari dalam bulan 02 hingga 09, pada tahun 2015.  
Bagian ketiga, `2015/1[0-2]/**`, mengecualikan hari dalam bulan 10, 11, dan 12, pada tahun 2015.

**Example JDBC mengecualikan pola**  
Misalkan Anda melakukan perayapan pada basis data JDBC dengan struktur skema berikut:  

```
MyDatabase/MySchema/
   HR_us
   HR_fr
   Employees_Table
   Finance
   Market_US_Table
   Market_EMEA_Table
   Market_AP_Table
```
Mengingat penyertaan path `MyDatabase/MySchema/%`, berikut ini adalah beberapa hasil sampel untuk pola pengecualian:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/glue/latest/dg/define-crawler-choose-data-sources.html)

**Parameter sumber crawler tambahan**  
Setiap jenis sumber memerlukan seperangkat parameter tambahan yang berbeda.

**Koneksi**  
Pilih atau tambahkan koneksi AWS Glue. Untuk informasi tentang koneksi, lihat [Menghubungkan ke data](glue-connections.md).

**Metadata tambahan - opsional (untuk penyimpanan data JDBC)**  
Pilih properti metadata tambahan untuk crawler untuk dirayapi.  
+ Komentar: Merayapi komentar tingkat tabel dan tingkat kolom terkait.
+ Jenis mentah: Pertahankan tipe data mentah dari kolom tabel dalam metadata tambahan. Sebagai perilaku default, crawler menerjemahkan tipe data mentah ke tipe yang kompatibel dengan HIVE.

**Nama Kelas Driver JDBC - opsional (untuk penyimpanan data JDBC)**  
 Ketik nama kelas driver JDBC kustom agar crawler dapat terhubung ke sumber data:   
+ Postgres: org.PostgreSQL.Driver
+ MySQL: com.mysql.jdbc.driver, com.mysql.cj.jdbc.driver
+ Redshift: com.amazon.redshift.jdbc.driver, com.amazon.redshift.jdbc42.driver
+ Oracle: oracle.jdbc.driver. OracleDriver
+ SQL Server: com.microsoft.sqlserver.jdbc. SQLServerSopir

**JDBC Driver S3 Path - opsional (untuk penyimpanan data JDBC)**  
Pilih jalur Amazon S3 yang ada ke file. `.jar` Di sinilah `.jar` file akan disimpan saat menggunakan driver JDBC khusus agar crawler dapat terhubung ke sumber data.

**Aktifkan pengambilan sampel data (hanya untuk penyimpanan data Amazon DynamoDB, MongoDB, MongoDB Atlas, dan Amazon DocumentDB)**  
Pilih apakah akan melakukan perayapan pada sampel data saja. Jika tidak dipilih, maka seluruh tabel akan di-crawl. Memindai semua catatan dapat memakan waktu lama ketika tabel tersebut bukan merupakan tabel throughput tinggi.

**Buat tabel untuk kueri (hanya untuk penyimpanan data Delta Lake)**  
Pilih bagaimana Anda ingin membuat tabel Delta Lake:  
+ Buat tabel Native: Izinkan integrasi dengan mesin kueri yang mendukung kueri log transaksi Delta secara langsung.
+ Buat tabel Symlink: Buat folder manifes symlink dengan file manifes yang dipartisi oleh kunci partisi, berdasarkan parameter konfigurasi yang ditentukan.

**Tingkat pemindaian - opsional (hanya untuk penyimpanan data DynamoDB)**  
Tentukan persentase tabel DynamoDB Membaca Unit Kapasitas yang akan digunakan oleh crawler. Unit kapasitas baca adalah istilah yang didefinisikan oleh DynamoDB, dan merupakan nilai numerik yang bertindak sebagai tingkat pembatar untuk jumlah baca yang dapat dilakukan pada tabel tersebut per detik. Masukkan nilai antara 0,1 dan 1,5. Jika tidak ditentukan, default ke 0,5 untuk tabel yang disediakan dan 1/4 dari kapasitas maksimum yang dikonfigurasi untuk tabel sesuai permintaan. Perhatikan bahwa hanya mode kapasitas yang disediakan yang harus digunakan dengan AWS Glue crawler.  
Untuk penyimpanan data DynamoDB, atur mode kapasitas yang disediakan untuk memproses pembacaan dan penulisan di tabel Anda. AWS Glue Crawler tidak boleh digunakan dengan mode kapasitas sesuai permintaan.

**Koneksi jaringan - opsional (untuk penyimpanan data target Amazon S3, Delta, Iceberg, Hudi dan Katalog)**  
Secara opsional sertakan koneksi Jaringan untuk digunakan dengan target Amazon S3 ini. Perhatikan bahwa setiap crawler terbatas pada satu koneksi Jaringan sehingga target Amazon S3 lainnya juga akan menggunakan koneksi yang sama (atau tidak ada, jika dibiarkan kosong).  
Untuk informasi tentang koneksi, lihat [Menghubungkan ke data](glue-connections.md).

**Sampel hanya sebagian file dan ukuran Sampel (hanya untuk penyimpanan data Amazon S3)**  
Tentukan jumlah file di setiap folder daun yang akan di-crawl saat melakukan perayapan pada file sampel dalam set data. Ketika fitur ini diaktifkan, alih-alih melakukan perayapan pada semua file dalam set data ini, crawler akan secara acak memilih beberapa file di setiap folder daun untuk di-crawl.   
Crawler sampling paling cocok untuk pelanggan yang memiliki pengetahuan sebelumnya tentang format data mereka dan tahu bahwa skema pada folder mereka tidak berubah. Dengan mengaktifkan fitur ini akan secara signifikan mengurangi waktu aktif crawler.  
Nilai yang valid adalah bilangan bulat antara 1 dan 249. Jika tidak ditentukan, maka semua file di-crawl.

**Perayap selanjutnya berjalan**  
Bidang ini adalah bidang global yang memengaruhi semua sumber data Amazon S3.  
+ Merayapi semua sub-folder: Merayapi semua folder lagi dengan setiap perayapan berikutnya.
+ Hanya crawl sub-folder baru: Hanya folder Amazon S3 yang ditambahkan sejak crawl terakhir yang akan dirayapi. Jika skema kompatibel, partisi baru akan ditambahkan ke tabel yang ada. Untuk informasi selengkapnya, lihat [Menjadwalkan crawl inkremental untuk menambahkan partisi baru](incremental-crawls.md).
+ Perayapan berdasarkan peristiwa: Andalkan peristiwa Amazon S3 untuk mengontrol folder apa yang akan dirayapi. Untuk informasi selengkapnya, lihat [Mempercepat crawl menggunakan notifikasi acara Amazon S3](crawler-s3-event-notifications.md).

**Pengklasifikasi khusus - opsional**  
Tentukan pengklasifikasi kustom sebelum mendefinisikan crawler. Pengklasifikasi memeriksa apakah file tertentu dalam format yang dapat ditangani oleh crawler. Jika ya, maka pengklasifikasi menciptakan sebuah skema dalam bentuk objek `StructType` yang cocok dengan format data tersebut.  
Lihat informasi yang lebih lengkap di [Mendefinisikan dan mengelola pengklasifikasi](add-classifier.md).