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
Nama pustaka serialisasi
Nama pustaka serialisasi untuk SerDe Regex adalah. org.apache.hadoop.hive.serde2.RegexSerDe
Untuk informasi kode sumber, lihat Kelas RegexSerDe
Contoh
Contoh berikut membuat tabel dari CloudFront log menggunakan RegExSerDe. Ganti myregion
masuk s3://athena-examples-
dengan pengenal wilayah tempat Anda menjalankan Athena (misalnyamyregion
/cloudfront/plaintext/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/';