Ion 格式的 Athena DDL?
Athena DDL for Ion format?
我正在尝试使用 Athena 查询 Ion format 中由最近添加的 DynamoDB 备份导出到 S3 功能生成的一些文件。
这是一种明显愚蠢的格式,它基本上是字符串 $ion_1_0
后跟 json。前面未加引号的 $ion_1_0
字符串使数据 无效 json.
我尝试使用来自 here 的 Ion Serde:
CREATE EXTERNAL TABLE mydb.mytable (
`myfields` string,
...
)
ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe'
LOCATION 's3:/.../dynamodb-export/AWSDynamoDB/01608775578817-a6944d97/data/'
TBLPROPERTIES ('has_encrypted_data'='true');
但是得到了这个:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot validate serde: com.amazon.ionhiveserde.IonHiveSerDe
更新
其实格式比我想象的还要差一点。不引用字段名称。所以它不是很有效 json 即使在去掉 $ion 前缀之后。
ION 是一种开源文本格式,是 JSON 的超集。您是否尝试过使用胶水转换您的 ION 文件? ION 是支持的格式选项之一(用于输入):https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html
这个 QLDB 研讨会在其示例中使用了 ION,您可以探索 cloudformation template/yaml 或部署工作流并深入研究它创建的爬虫和作业以获得一些想法:https://qldb-immersionday.workshop.aws/en/lab3/task3.html
查看 ION 食谱以获取更多信息:https://amzn.github.io/ion-docs/guides/cookbook.html
我正在尝试使用 Athena 查询 Ion format 中由最近添加的 DynamoDB 备份导出到 S3 功能生成的一些文件。
这是一种明显愚蠢的格式,它基本上是字符串 $ion_1_0
后跟 json。前面未加引号的 $ion_1_0
字符串使数据 无效 json.
我尝试使用来自 here 的 Ion Serde:
CREATE EXTERNAL TABLE mydb.mytable (
`myfields` string,
...
)
ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe'
LOCATION 's3:/.../dynamodb-export/AWSDynamoDB/01608775578817-a6944d97/data/'
TBLPROPERTIES ('has_encrypted_data'='true');
但是得到了这个:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot validate serde: com.amazon.ionhiveserde.IonHiveSerDe
更新
其实格式比我想象的还要差一点。不引用字段名称。所以它不是很有效 json 即使在去掉 $ion 前缀之后。
ION 是一种开源文本格式,是 JSON 的超集。您是否尝试过使用胶水转换您的 ION 文件? ION 是支持的格式选项之一(用于输入):https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html
这个 QLDB 研讨会在其示例中使用了 ION,您可以探索 cloudformation template/yaml 或部署工作流并深入研究它创建的爬虫和作业以获得一些想法:https://qldb-immersionday.workshop.aws/en/lab3/task3.html
查看 ION 食谱以获取更多信息:https://amzn.github.io/ion-docs/guides/cookbook.html