Menambahkan pengklasifikasi ke crawler di AWS Glue - AWS Glue

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

Menambahkan pengklasifikasi ke crawler di AWS Glue

Sebuah pengklasifikasi membaca data di sebuah penyimpanan data. Jika ia mengakui format data, maka ia membuat skema. Pengklasifikasi juga mengembalikan nomor kepastian untuk menunjukkan seberapa pasti pengakuan format itu.

AWS Glue menyediakan serangkaian pengklasifikasi bawaan, tetapi Anda juga dapat membuat pengklasifikasi kustom. AWS Glue memanggil pengklasifikasi kustom terlebih dahulu, dalam urutan yang Anda tentukan dalam definisi crawler Anda. Tergantung pada hasil yang dikembalikan dari pengklasifikasi kustom, AWS Glue mungkin juga akan memanggil pengklasifikasi bawaan. Jika pengklasifikasi mengembalikan certainty=1.0 selama pemrosesan, maka itu menunjukkan bahwa pengklasifikasi 100 persen yakin bahwa ia dapat membuat skema yang benar. AWS Glue kemudian menggunakan output dari pengklasifikasi itu.

Jika tidak, pengklasifikasi mengembalikan certainty=1.0, AWS Glue menggunakan output dari pengklasifikasi yang memiliki kepastian tertinggi. Jika tidak, pengklasifikasi mengembalikan kepastian lebih besar dari 0.0, AWS Glue mengembalikan string klasifikasi default UNKNOWN.

Kapan saya menggunakan classifier?

Anda menggunakan pengklasifikasi ketika Anda melakukan crawling pada penyimpanan data untuk menentukan tabel metadata di AWS Glue Data Catalog. Anda dapat mengatur crawler dengan satu set pengklasifikasi yang telah diurutkan. Ketika crawler memanggil pengklasifikasi, pengklasifikasi tersebut akan menentukan apakah data diakui. Jika pengklasifikasi tidak dapat mengenali data atau tidak 100 persen yakin, maka crawler memanggil pengklasifikasi berikutnya dalam daftar untuk menentukan apakah ia dapat mengenali data tersebut.

Untuk informasi lebih lanjut tentang membuat distribusi menggunakan konsol AWS Glue, lihat Bekerja dengan pengklasifikasi di konsol AWS Glue.

Pengklasifikasi khusus

Output dari pengklasifikasi termasuk string yang menunjukkan klasifikasi atau format file (misalnya, json) dan skema dari file tersebut. Untuk pengklasifikasi kustom, Anda menentukan logika untuk membuat skema berdasarkan jenis pengklasifikasi. Jenis pengklasifikasi termasuk menentukan skema berdasarkan pola grok, tag XML, dan path JSON.

Jika Anda mengubah sebuah definisi pengklasifikasi, maka data yang sebelumnya di-crawling menggunakan pengklasifikasi tersebut tidak akan direklasifikasi. Crawler mempertahankan jejak data yang telah di-crawling sebelumnya. Data baru diklasifikasikan dengan pengklasifikasi yang diperbarui, yang dapat menghasilkan skema diperbarui. Jika skema data Anda telah berkembang, perbarui pengklasifikasi untuk memperhitungkan perubahan skema apa pun saat crawler Anda berjalan. Untuk mengklasifikasi ulang data untuk mengoreksi pengklasifikasi yang salah, buat sebuah crawler baru dengan pengklasifikasi yang sudah diperbarui.

Untuk informasi selengkapnya tentang membuat pengklasifikasi di AWS Glue, lihat Menulis pengklasifikasi kustom.

catatan

Jika format data Anda dikenali oleh salah satu pengklasifikasi bawaan, maka Anda tidak perlu membuat pengklasifikasi kustom.

Pengklasifikasi bawaan di AWS Glue

AWS Glue menyediakan pengklasifikasi bawaan untuk berbagai format, termasuk JSON, CSV, log web, dan banyak sistem basis data.

Jika AWS Glue tidak menemukan pengklasifikasi kustom yang sesuai dengan format input data dengan 100 persen kepastian, maka ia akan memanggil pengklasifikasi bawaan dalam urutan yang ditunjukkan dalam tabel berikut. Pengklasifikasi bawaan mengembalikan hasil untuk menunjukkan apakah format cocok (certainty=1.0) atau tidak cocok (certainty=0.0). Pengklasifikasi pertama yang memiliki certainty=1.0 menyediakan string klasifikasi dan skema untuk tabel metadata dalam Katalog Data Anda.

Jenis pengklasifikasi String klasifikasi Catatan
Apache Avro avro Membaca skema pada awal file untuk menentukan formatnya.
Apache ORC orc Membaca metadata file untuk menentukan formatnya.
Apache Parquet parquet Membaca skema pada akhir file untuk menentukan formatnya.
JSON json Membaca awal file untuk menentukan formatnya.
JSON biner bson Membaca awal file untuk menentukan formatnya.
XML xml Membaca awal file untuk menentukan format. AWS Glue menentukan skema tabel berdasarkan tag XML dalam dokumen.

Untuk informasi tentang cara membuat pengklasifikasi XML kustom untuk menentukan baris dalam dokumen, lihat Menulis XHTML pengklasifikasi kustom.

Amazon Ion ion Membaca awal file untuk menentukan formatnya.
Log Apache gabungan combined_apache Menentukan format log melalui pola grok.
Apache log apache Menentukan format log melalui pola grok.
Log kernel Linux linux_kernel Menentukan format log melalui pola grok.
Log Microsoft microsoft_log Menentukan format log melalui pola grok.
Log Ruby ruby_logger Membaca awal file untuk menentukan formatnya.
Log Squid 3.x squid Membaca awal file untuk menentukan formatnya.
Log monitor Redis redismonlog Membaca awal file untuk menentukan formatnya.
Log Redis redislog Membaca awal file untuk menentukan formatnya.
CSV csv Cek untuk pembatas berikut: koma (,), pipa (|), tab (\ t), titik koma (;), dan Ctrl-A (\ u0001). Ctrl-A adalah karakter kontrol Unicode untuk Start Of Heading.
Amazon Redshift redshift Menggunakan koneksi JDBC untuk mengimpor metadata.
MySQL mysql Menggunakan koneksi JDBC untuk mengimpor metadata.
PostgreSQL postgresql Menggunakan koneksi JDBC untuk mengimpor metadata.
Basis data Oracle oracle Menggunakan koneksi JDBC untuk mengimpor metadata.
Microsoft SQL Server sqlserver Menggunakan koneksi JDBC untuk mengimpor metadata.
Amazon DynamoDB dynamodb Membaca data dari tabel DynamoDB.

File dalam format terkompresi berikut dapat diklasifikasikan:

  • ZIP (didukung untuk arsip yang hanya berisi satu file). Perhatikan bahwa Zip tidak didukung dengan baik dalam layanan lain (karena arsip).

  • BZIP

  • GZIP

  • LZ4

  • Snappy (didukung untuk format Snappy asli standar dan Hadoop)

Pengklasifikasi CSV bawaan

Pengklasifikasi CSV bawaan menguraikan konten file CSV untuk menentukan skema untuk sebuah tabel AWS Glue. Pengklasifikasi ini memeriksa pembatas berikut:

  • Koma (,)

  • Pipa (|)

  • Tab (\t)

  • Titik koma (;)

  • Ctrl-A (\u0001)

    Ctrl-A adalah karakter kontrol Unicode untuk Start Of Heading.

Untuk bisa diklasifikasikan sebagai CSV, skema tabel harus memiliki setidaknya dua kolom dan dua baris data. Pengklasifikasi CSV menggunakan sejumlah heuristik untuk menentukan apakah header ditemukan dalam file tertentu. Jika pengklasifikasi tidak dapat menentukan header dari baris pertama data, maka header kolom ditampilkan sebagai col1, col2, col3, dan sebagainya. Pengklasifikasi CSV bawaan menentukan apakah akan menyimpulkan header dengan menilai karakteristik file berikut:

  • Setiap kolom di sebuah header potensial mem-parsing sebagai tipe data STRING.

  • Kecuali untuk kolom terakhir, setiap kolom di header potensial memiliki konten yang kurang dari 150 karakter. Untuk memungkinkan untuk pembatas dibelakang, kolom terakhir dapat dibiarkan kosong di seluruh file.

  • Setiap kolom di header potensial harus memenuhi persyaratan regex AWS Glue untuk nama kolom.

  • Baris header harus cukup berbeda dari baris data. Untuk menentukan ini, satu atau lebih dari baris tersebut harus mengurai selain jenis STRING. Jika semua kolom adalah tipe STRING, maka baris pertama data tidak cukup berbeda dari baris berikutnya yang akan digunakan sebagai header.

catatan

Jika pengklasifikasi CSV bawaan tidak membuat tabel AWS Glue seperti yang Anda inginkan, maka Anda mungkin dapat menggunakan salah satu alternatif berikut:

  • Mengubah nama kolom dalam Katalog Data, mengatur SchemaChangePolicy ke LOG, dan mengatur konfigurasi partisi output ke InheritFromTable untuk eksekusi crawler di masa depan.

  • Membuat sebuah pengklasifikasi grok kustom untuk mengurai data dan menetapkan kolom yang Anda inginkan.

  • Pengklasifikasi CSV bawaan membuat tabel yang me-referensi LazySimpleSerDe sebagai perpustakaan serialisasi, yang merupakan pilihan yang baik untuk inferensi tipe. Namun, jika data CSV berisi string yang dikutip, edit definisi tabel dan ubah pustaka menjadi SerDe . OpenCSVSerDe Sesuaikan setiap jenis yang disimpulkan menjadi STRING, atur SchemaChangePolicy ke LOG, dan atur konfigurasi partisi output menjadi InheritFromTable untuk eksekusi crawler di masa depan. Untuk informasi selengkapnya tentang SerDe perpustakaan, lihat SerDe Referensi di Panduan Pengguna Amazon Athena.