选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

Regex SerDe

聚焦模式
Regex SerDe - Amazon Athena

Regex SerDe 使用正则表达式通过将正则表达式组提取到表列中来反序列化数据。

如果数据中的某一行与正则表达式不匹配,则该行中的所有列都作为 NULL 返回。如果某行与正则表达式匹配,但其组少于预期,则缺少的组为 NULL。如果数据中的一行与正则表达式匹配,但其列多于正则表达式中的组,则会忽略其他列。

有关更多信息,请参阅 Apache Hive 文档中的 类 RegexSerDe

序列化库名称

Regex SerDe 的序列化库名称为 org.apache.hadoop.hive.serde2.RegexSerDe。有关源代码信息,请参阅 Apache 文档中的 Class RegexSerDe

示例

以下示例使用 RegExSerDe 从 CloudFront 日志创建一个表。在 s3://athena-examples-myregion/cloudfront/plaintext/ 中,将 myregion 替换为您运行 Athena 所在的区域标识符(例如 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/';

下一主题:

运行查询

上一主题:

Parquet SerDe

本页内容

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。