亚马逊Athena无法从分区读取数据

时间:2018-05-28 07:38:25

标签: amazon-athena

我正在雅典娜的分区工作。我在s3中有一个目录,其中放置了日期文件。我正在尝试创建一个日期分区表,并将每个分区的位置设置为该日期的文件。虽然分区的设置位置查询运行成功,但我无法通过选择查询查看该分区中的数据。

执行以下查询后,我可以看到数据: alter table tbl_name partition(date =' 2018-05-28')set location' s3:// bucket_name // test /'  但执行此后不是: alter table tbl_name partition(date =' 2018-05-28')设置位置' //bucket_name//test/test.csv'

因此,如果我将位置设置为目录,则可以选择数据,但在将位置设置为文件时则不能。 但我需要将分区的位置设置为文件名。这在Hive中完美地运行。需要帮助athena。

1 个答案:

答案 0 :(得分:2)

如果你有这样的文件夹结构,

S3://bucket/myfodler/logs/2018/04/02/file1.csv
S3://bucket/myfodler/logs/2018/04/02/file2.csv
S3://bucket/myfodler/logs/2018/04/03/file1.csv
S3://bucket/myfodler/logs/2018/04/03/file2.csv

然后你可以创建像

这样的分区
ALTER TABLE table_name ADD
  PARTITION (YEAR = '2018', MONTH='04', day='02') LOCATION 'S3://bucket/myfodler/logs/2018/04/02'

在你的情况下,

s3://bucket_name//test/test.csv - 不是创建分区的正确结构。

如果您共享s3文件夹结构,那么我可以尝试为您提供帮助。

有关Athena分区的更多信息:Read Here