无法使用AWS Athena加载简单的JSON文件



我有一个简单的json文件:

{'oldname':'mau'}

在AWS Athena中,我想阅读此文件,然后创建匹配的表T

CREATE EXTERNAL TABLE IF NOT EXISTS stats_json.t (
  `oldname` string 
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
WITH SERDEPROPERTIES (
  'serialization.format' = '1'
) LOCATION 's3://mybucket/stats/';

然后我尝试查询:

select * from t limit 10;

获取错误:

查询BCEB274D-309F-40D5-A893-570DE5F4CA4E失败,错误代码

我在哪里出错?

我让它起作用,因此要回答我自己的问题,问题是json文件的格式。看来AWS ATHENA(well org.openx.data.jsonserde.jsonserde)相当挑剔。

每个JSON记录必须完全在1行文本上,而键和值之间没有空格。

在Python中,我生成了JSON记录,如下所示:

import json
dStatsRecord = {} # a valid json dict
with open('myfile.json', 'r') as oFile:
  json.dump(dStatsRecord, oFile, separators=(',', ':'))

最新更新