是否可以使用AWS胶搜寻器对数据进行重新分区?

时间:2019-08-18 19:42:52

标签: amazon-web-services amazon-s3 aws-glue partition

我从一位前同事那里继承了一个S3存储桶,其中的文件按ID和时间进行分区,例如:

s3:// bucket / partition_id = 0 / year = 2017 / month = 6 / day = 1 /文件

所有这些文件中的数据都是一张表,可以通过Athena查询。从Glue目录中,它还显示partition(0)是id,partition(1)是year,依此类推。

最近我想重新构建工作,并发现使用id的分区不是很简单。我尝试使用Glue搜寻器并将其定向到S3存储桶。但是,如果我只希望它随时间而不是id进行分区,那么我将无处选择:

s3:// bucket / year = 2017 / month = 6 / day = 1 /文件

我对AWS相当陌生,不确定是否有可能甚至对您有意义。请给我一些反馈。谢谢。

2 个答案:

答案 0 :(得分:1)

我不认为您可以借助搜寻器来做到这一点,但是您可以像这样在Athena中手动创建新表(另请参见https://docs.aws.amazon.com/en_us/athena/latest/ug/ctas-examples.html

CREATE TABLE new_table
WITH (
     format = 'ORC', 
     external_location = 's3://...', 
     partitioned_by = ARRAY['year', 'month', 'day']) 
AS select * 
FROM old_table;

答案 1 :(得分:0)

使用s3 boto api编写python shell作业以重新组织文件夹结构,然后运行搜寻器