Amazon s3 如何将CSV文件加载到包含JSON字段的Amazon Athena

Amazon s3 如何将CSV文件加载到包含JSON字段的Amazon Athena,amazon-s3,amazon-athena,Amazon S3,Amazon Athena,我在s3中有一个CSV(制表符分隔),需要在JSON字段上查询 uid\tname\taddress 1\tmoorthi\t{"rno":123,"code":400111} 2\tkiranp\t{"rno":124,"street":"kemp road"} 如何在Amazon Athena中查询这些数据 我应该能够查询如下内容: select uid from table1 where address['street']="kemp road"; 您可以尝试使用json\u extr

我在s3中有一个CSV(制表符分隔),需要在JSON字段上查询

uid\tname\taddress
1\tmoorthi\t{"rno":123,"code":400111}
2\tkiranp\t{"rno":124,"street":"kemp road"}
如何在Amazon Athena中查询这些数据

我应该能够查询如下内容:

select uid
from table1
where address['street']="kemp road";

您可以尝试使用
json\u extract()
命令

发件人:

您可能有包含JSON编码字符串的源数据,这些字符串不一定要反序列化到Athena中的表中。在这种情况下,您仍然可以使用Presto中可用的JSON函数对该数据运行SQL操作

此示例显示如何使用
json\u extract()
从json提取字段。因此,您可以执行以下操作:

select uid
from table1
where json_extract(address, '$.street') = "kemp road";

我猜您可以使用AWS Glue爬虫来抓取数据,它会自动为您推断模式,识别出您的地址列包含json数据。您尝试过这个吗?您可能必须使用“交叉连接UNNEST”。我不太确定它是否适用于这个确切的用例。
select uid
from table1
where json_extract(address, '$.street') = "kemp road";