Mysql 将列表从S3传递到Athena查询

Mysql 将列表从S3传递到Athena查询,mysql,amazon-web-services,amazon-s3,aws-glue,amazon-athena,Mysql,Amazon Web Services,Amazon S3,Aws Glue,Amazon Athena,我已经使用AWS Glue来聚合S3存储桶中的数据,现在使用Athena来查询这些数据。现在我可以从S3传递一个单独的文件来查询我的数据集了吗 例如,如果我有以下查询: SELECT city,population,coordinates FROM "Country"."Japan" WHERE city IN ('Tokyo','Kyoto','Osaka'); 我想在S3中放置一个.txt文件,其中列出“东京”、“京都”、“大阪”,这样我的查询看起

我已经使用AWS Glue来聚合S3存储桶中的数据,现在使用Athena来查询这些数据。现在我可以从S3传递一个单独的文件来查询我的数据集了吗

例如,如果我有以下查询:

SELECT city,population,coordinates
FROM "Country"."Japan" 
WHERE city IN ('Tokyo','Kyoto','Osaka');
我想在S3中放置一个.txt文件,其中列出“东京”、“京都”、“大阪”,这样我的查询看起来像:

SELECT city,population,coordinates
FROM "Country"."Japan" 
WHERE city IN << some file path in s3 >>;

这不是SQL标准的一部分

但是,您可以在Amazon Athena中创建另一个包含城市列表的表。指向数据的表的LOCATION参数可以指向每行上都有城市名称的文本文件。然后,您可以使用:

WHERE city IN IN从city_表中选择城市
这样,所有信息都在Athena中,但Athena实际上会转到S3读取表的内容。

这不是SQL标准的一部分

但是,您可以在Amazon Athena中创建另一个包含城市列表的表。指向数据的表的LOCATION参数可以指向每行上都有城市名称的文本文件。然后,您可以使用:

WHERE city IN IN从city_表中选择城市
这样,所有信息都在雅典娜的“内部”,但雅典娜实际上会转到S3阅读表格的内容。

这太好了,非常感谢!太好了,非常感谢!