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
Selanjutnya, konfigurasikan sumber data dan pengklasifikasi untuk crawler.
Untuk informasi selengkapnya tentang sumber data yang didukung, lihatSumber data yang didukung untuk crawling.
- Konfigurasi sumber data
-
Pilih opsi yang sesuai untuk Apakah data Anda sudah dipetakan 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. Crawler dapat merayapi beberapa penyimpanan data dari berbagai jenis (Amazon S3JDBC,, 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 Anda AWS Glue Katalog Data. 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.
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, lihatMembuat skema tunggal untuk setiap jalur Amazon S3 termasuk. -
Anda tidak dapat mencampur tabel katalog sebagai sebuah sumber dengan jenis sumber lainnya (misalnya Amazon S3 atau Amazon DynamoDB).
-
Untuk menggunakan tabel Delta, pertama buat tabel Delta menggunakan DDL Athena atau. AWS Glue API
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 pasangan kunci/nilai berikut. Untuk informasi selengkapnya tentang cara membuat tabel, lihat dokumentasi Boto3 untuk
create_table. { "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 JDBC driver 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, folder Iceberg/Hudi mungkin terletak di folder anak dari folder root. Crawler akan memindai semua folder di bawah jalur untuk folder Hudi.
- Untuk penyimpanan JDBC data
-
Masuk
<database>
/<schema>
/<table>
atau<database>
/<table>
, tergantung pada produk database. Oracle Database dan My SQL tidak mendukung skema di jalur. Anda dapat mengganti karakter persen (%) dengan<schema>
atau<table>
. Misalnya, untuk database Oracle dengan pengenal sistem (SID) dariorcl
, masukkanorcl/%
untuk mengimpor semua tabel yang pengguna bernama dalam koneksi memiliki akses.penting
Bidang ini peka terhadap huruf besar dan kecil.
catatan
Jika Anda memilih untuk membawa versi JDBC driver Anda sendiri, AWS Glue crawler akan mengkonsumsi sumber daya di AWS Glue jobs 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.
- 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 JDBC data, sintaksnya adalah salah satu
database-name/schema-name/table-name
ataudatabase-name/table-name
. Sintaksis tergantung pada apakah mesin basis data mendukung skema dalam sebuah basis data. Misalnya, untuk mesin database seperti My SQL atau Oracle, jangan tentukan aschema-name
di jalur include 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 JDBC data Anda, ketikkan nama tabel di jalur pengecualian.
Crawler terhubung ke penyimpanan JDBC data menggunakan AWS Glue koneksi yang berisi string JDBC URI koneksi. Crawler hanya memiliki akses ke objek di mesin database menggunakan nama JDBC pengguna dan kata sandi di AWS Glue koneksi. Crawler hanya dapat membuat tabel yang dapat diakses melalui JDBC koneksi. Setelah crawler mengakses mesin database dengan JDBCURI, path include digunakan untuk menentukan tabel di mesin database yang dibuat dalam Katalog Data. Misalnya, dengan MySQL, jika Anda menentukan jalur include dari
MyDatabase/%
, maka semua tabel di dalamnyaMyDatabase
dibuat dalam Katalog Data. Saat mengakses Amazon Redshift, jika Anda menentukan penyertaan pathMyDatabase/%
, maka semua tabel dalam semua skema untuk basis dataMyDatabase
akan dibuat dalam Katalog Data. Jika Anda menentukan penyertaan pathMyDatabase/MySchema/%
, maka semua tabel dalam basis dataMyDatabase
dan skemaMySchema
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, seperticreate_dynamic_frame.from_catalog
, membaca properti tabel dan mengecualikan objek yang ditentukan oleh pola pengecualian.AWS Glue mendukung
glob
pola berikut dalam pola pengecualian.Pola pengecualian Deskripsi *.csv
Cocok dengan path Amazon S3 yang mewakili nama objek dalam folder saat ini yang diakhiri dengan .csv
*.*
Cocok dengan semua nama objek yang berisi sebuah titik *.{csv,avro}
Cocok nama objek yang diakhiri dengan .csv
atau.avro
foo.?
Cocok nama objek yang dimulai dengan foo.
yang diikuti oleh ekstensi karakter tunggalmyfolder/*
Cocok dengan objek dalam satu tingkat subfolder dari myfolder
, seperti/myfolder/mysource
myfolder/*/*
Cocok dengan objek dalam dua tingkat subfolder dari myfolder
, seperti/myfolder/mysource/data
myfolder/**
Cocok dengan objek dalam semua subfolder dari myfolder
, seperti/myfolder/mysource/mydata
dan/myfolder/mysource/data
myfolder**
Cocok dengan subfolder myfolder
serta file di bawahmyfolder
, seperti/myfolder
dan/myfolder/mydata.txt
Market*
Mencocokkan tabel dalam JDBC database dengan nama yang dimulai dengan Market
, sepertiMarket_us
danMarket_fr
AWS Glue menafsirkan
glob
mengecualikan pola 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 dengana
,b
, atauc
. Tanda hubung (-
) dapat digunakan untuk menentukan rentang, sehingga[a-z]
menentukan rentang yang cocok daria
hinggaz
(inklusif). Bentuk-bentuk ini dapat dicampur, jadi [abce-g
] cocok dengana
,b
,c
,e
,f
, ataug
. Jika karakter setelah kurung ([
) adalah tanda seru (!
), maka ekspresi kurung dinegasikan. Misalnya,[!a-c]
cocok dengan karakter apapun kecualia
,b
, atauc
.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
.
contoh 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:Pola pengecualian Hasil departments/**
Mengecualikan semua file dan folder di bawah departments
dan mencakup folderemployees
dan file-nyadepartments/market*
Mengecualikan market-us.json
,market-emea.json
, danmarket-ap.json
**.csv
Mengecualikan semua objek di bawah myfolder
yang memiliki nama yang diakhiri dengan.csv
employees/*.csv
Mengecualikan semua file .csv
dalam folderemployees
contoh 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 "**" digunakan sebagai akhiran untuk pola angka hari dan melintasi batas folder ke folder tingkat bawah. Jika "*" 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.contoh JDBCmengecualikan pola
Misalkan Anda merayapi JDBC database 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:Pola pengecualian Hasil HR*
Mengecualikan tabel dengan nama yang dimulai dengan HR
Market_*
Mengecualikan tabel dengan nama yang dimulai dengan Market_
**_Table
Mengecualikan semua tabel dengan nama yang diakhiri dengan _Table
-
- Parameter sumber crawler tambahan
-
Setiap jenis sumber memerlukan seperangkat parameter tambahan yang berbeda.
- Koneksi
-
Pilih atau tambahkan AWS Glue koneksi. Untuk informasi tentang koneksi, lihat Menghubungkan ke data.
- Metadata tambahan - opsional (untuk penyimpanan JDBC data)
-
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.
- JDBCNama Kelas Driver - opsional (untuk penyimpanan JDBC data)
-
Ketik nama kelas JDBC driver kustom untuk crawler untuk terhubung ke sumber data:
Postgres: org.PostgreSQL.driver
SayaSQL: 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
SQLServer: com.microsoft.sqlserver.jdbc. SQLServerDriver
- JDBCDriver S3 Path - opsional (untuk penyimpanan JDBC data)
-
Pilih jalur Amazon S3 yang ada ke file.
.jar
Di sinilah.jar
file akan disimpan saat menggunakan JDBC driver khusus agar perayap 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.
catatan
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.
- 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.
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.
- Pengklasifikasi khusus - opsional
-
Tentukan pengklasifikasi khusus 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.Untuk informasi selengkapnya, lihat Mendefinisikan dan mengelola pengklasifikasi.