Regex SerDe - Amazon Athena

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

Regex SerDe

Regex SerDe menggunakan ekspresi reguler (regex) untuk deserialisasi data dengan mengekstrak grup regex ke dalam kolom tabel.

Jika baris dalam data tidak cocok dengan regex, maka semua kolom di baris dikembalikan sebagai. NULL Jika baris cocok dengan regex tetapi memiliki lebih sedikit grup dari yang diharapkan, grup yang hilang adalah. NULL Jika baris dalam data cocok dengan regex tetapi memiliki lebih banyak kolom daripada grup di regex, kolom tambahan akan diabaikan.

Untuk informasi selengkapnya, lihat Kelas RegexSerDe dalam dokumentasi Apache Hive.

SerDe nama

RegexSerDe

Nama perpustakaan

RegexSerDe

Contoh

Contoh berikut membuat tabel dari CloudFront log menggunakan RegExSerDe. Ganti myregion s3://athena-examples-myregion/cloudfront/plaintext/ dengan pengidentifikasi wilayah tempat Anda menjalankan Athena (misalnya,). s3://athena-examples-us-west-1/cloudfront/plaintext/

CREATE EXTERNAL TABLE IF NOT EXISTS cloudfront_logs ( `Date` DATE, Time STRING, Location STRING, Bytes INT, RequestIP STRING, Method STRING, Host STRING, Uri STRING, Status INT, Referrer STRING, os STRING, Browser STRING, BrowserVersion STRING ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe' WITH SERDEPROPERTIES ( "input.regex" = "^(?!#)([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+([^ ]+)\\s+[^\(]+[\(]([^\;]+).*\%20([^\/]+)[\/](.*)$" ) LOCATION 's3://athena-examples-myregion/cloudfront/plaintext/';