我正在使用Kinesis Firehose将JSON字节记录转换为S3存储桶中的ORC文件,可以使用Athena进行查询。 Firehose具有AWS Glue的Athena表架构。
要将文件插入Firehose,我有一个文件,其中每一行都是JSON对象。 python脚本逐行读取文件,创建json并将其放入流中:
with open('./test.json', 'r') as f:
alldata = f.readlines()
for line in alldata:
jsonraw = json.loads(line)
jdict = json.dumps(jsonraw)
jbytes = jdict.encode('utf-8')
client.put_record(DeliveryStreamName="my-stream", Record={'Data': jbytes})
有时Firehose成功转换记录,有时:
"DataFormatConversion.MalformedData","lastErrorMessage":"Data does not match the schema."
我想找出为什么某些JSON失败。我尝试过:
我对如何理解错误并找到解决方案的想法不多了。我还能尝试什么?