Amazon Athena:由 | 分隔的分割线

Amazon Athena: Split line separated by |

我有日志文件,其中每一行的格式为:

key1=val1|key2=val2|key3=val3

如何让 Amazon Athena 将其拆分为 key1key2key3 列?

您可以创建一个基于 Regex 的 table。这样您就可以为 table.

定义解析方案

对于您的示例,DDL 将如下所示。

CREATE EXTERNAL TABLE IF NOT EXISTS test (
  key1 string,
  key2 string,
  key3 string
) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
 "input.regex" = "^key1=([^\|]+)\|key2=([^\|]+)\|key3=([^\|]+)$"
) LOCATION 's3://njams-data/test/';