【发布时间】:2019-07-31 09:33:16
【问题描述】:
我在 S3 上有很多数据,它们位于文件夹而不是分区中。结构如下:
## s3://bucket/countryname/year/weeknumber/a.csv
s3://Countries/Canada/2019/20/part-1.csv
s3://Countries/Canada/2019/20/part-2.csv
s3://Countries/Canada/2019/20/part-3.csv
s3://Countries/Canada/2019/21/part-1.csv
s3://Countries/Canada/2019/21/part-2.csv
有没有办法将该数据转换为分区。像这样的:
s3://Countries/Country=Canada/Year=2019/Week=20/part-1.csv
s3://Countries/Country=Canada/Year=2019/Week=20/part-2.csv
s3://Countries/Country=Canada/Year=2019/Week=20/part-3.csv
s3://Countries/Country=Canada/Year=2019/Week=21/part-1.csv
s3://Countries/Country=Canada/Year=2019/Week=21/part-2.csv
我不知道如何做到这一点,而不是使用 for 循环遍历所有文件夹并加载数据,这很复杂。
我们将不胜感激。
【问题讨论】:
-
我的数据没有分区。
-
您的数据是手动按周数分区的,您只需将其设置为分区即可。
-
我该怎么做?
-
通过在 Country 上运行爬虫,它将创建分区 partition_0、partition_1、partition_2。您可以通过 Glue 控制台或通过胶水 pyspark 代码重命名它们。
标签: bash apache-spark amazon-s3 amazon-athena