AWS Athena (JSON) 的 SerDe 属性列表

Lae*_*ion 5 amazon-web-services amazon-athena hive-serde

我正在测试 AWS 的 Athena 产品,到目前为止运行良好。但我想知道 SerDe 属性的列表。我找了很远很远也没有找到。例如"ignore.malformed.json" = "true",我正在使用这个,但我很确定还有很多其他选项可以调整查询。

例如,我找不到有关“路径”属性的作用的信息,因此拥有完整列表会很棒。

我查看了 Apache Hive 文档但找不到这个,在 AWS 文档/论坛上也没有。

谢谢!

Dav*_*itz 6

您似乎正在使用 Openx-JsonSerDe
http://docs.aws.amazon.com/athena/latest/ug/json.html

// properties used in configuration
public static final String PROP_IGNORE_MALFORMED_JSON = "ignore.malformed.json";
public static final String PROP_DOTS_IN_KEYS = "dots.in.keys";
public static final String PROP_CASE_INSENSITIVE ="case.insensitive" ;
Run Code Online (Sandbox Code Playgroud)

https://github.com/rcongiu/Hive-JSON-Serde/blob/master/json-serde/src/main/java/org/openx/data/jsonserde/JsonSerDe.java

  • 截至 2018 年 9 月 2 日,不区分大小写的属性不起作用,因为 AWS 没有实现此属性的 Openx-JsonSerDe 版本。我可以确认 `dots.in.keys` 有效。此外,这里没有提到的一个缺失功能​​是能够通过添加 serde 属性 `mapping.foo_bar = foo-bar` 来重新映射具有名称冲突的字段,例如 `foo-bar`。然后架构应该指定 `foo_bar` 作为列名,您应该删除/重新添加所有分区以提取架构更新。 (2认同)