在AWS Glue中如何处理S3中每周都会更改的文件。
实施例: 第1周:“filename01072018.csv” 第2周:“filename01142018.csv”
这些文件以相同的格式设置,但我需要Glue能够每周更改以将此数据从S3加载到Redshift中。 Glue的代码使用本机Python作为后端。
答案 0 :(得分:1)
AWS Glue抓取工具应该能够找到您的CSV文件,因为它们的名称没有您的任何配置。
例如,我的Kinesis流生成的文件具有如下所示的路径和名称:
my_events_folder/2018/02/13/20/my-prefix-3-2018-02-13-20-18-28-112ab3f0-5794-4f77-9a84-83efafeecabc
my_events_folder/2018/02/13/20/my-prefix-2-2018-02-13-20-12-00-7f2efb62-827b-46a6-83c4-b4c52dd87d60
...
AWS Glue只会找到这些文件并自动对其进行分类。希望这会有所帮助。
答案 1 :(得分:0)
AWS Glue应该能够处理文件夹中的所有文件,而不管单个作业中的名称如何。如果您不希望再次处理旧文件,请在每次运行后使用boto3 api for s3将其移动到另一个位置。
答案 2 :(得分:0)
如果您有两种不同的文件类型(具有不同的内部格式),则它们必须位于单独的文件夹层次结构中。无法告诉爬虫仅寻找redfile*.csv
而忽略bluefile%.csv
。而是使用用户单独的层次结构,例如:
s3://my-bucket/redfiles/
redfile01072018.csv
redfile01142018.csv
...
s3://my-bucket/bluefiles/
bluefile01072018.csv
bluefile01142018.csv
...
设置两个搜寻器,一个搜寻器s3://my-bucket/redfiles/
,另一个搜寻器s3://my-bucket/bluefiles/