Regex SerDe - Amazon Athena

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Regex SerDe

La expresión regular SerDe utiliza una expresión regular (regex) para deserializar los datos mediante la extracción de grupos de expresiones regulares en las columnas de la tabla.

Si una fila de los datos no coincide con la expresión regular, todas las columnas de la fila se devuelven como NULL. Si una fila coincide con la expresión regular pero tiene menos grupos de los esperados, los grupos que faltan son NULL. Si una fila de los datos coincide con la expresión regular pero tiene más columnas que grupos en la expresión regular, se ignoran las columnas adicionales.

Para obtener más información, consulte Class en la documentación de Apache Hive. RegexSerDe

SerDe nombre

RegexSerDe

Nombre de la biblioteca

RegexSerDe

Ejemplos

En el siguiente ejemplo, se crea una tabla a partir de CloudFront registros mediante RegExSerDe. Reemplace myregion en s3://athena-examples-myregion/cloudfront/plaintext/ por el identificador de región donde se ejecuta Athena (por ejemplo, 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/';