我正在尝试利用Athena对第三方供应商预先ETL的数据运行SQL并推送到内部S3存储桶。
ETL供应商每天将CSV文件推送到存储桶。每个文件包括昨天的数据以及返回2016年的数据(即新数据每天到达,但历史数据也可能发生变化)。
我设置了AWS Glue Crawler来监控上传CSV文件的特定S3文件夹。
因为每个文件都包含更新的历史数据,所以我希望找到一种方法,根据上传的最新文件而不是附加来使爬虫覆盖现有表。 这可能吗?
非常感谢!
答案 0 :(得分:0)
你问的方式是不可能的。 Crawler不会改变数据。
Crawler仅使用表格填充AWS Glue数据目录。 有关详细信息,请参阅此处:https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html
如果您想在使用数据之前使用Athena / Glue进行数据清理,您需要按照以下步骤操作:
使用Crawler将数据映射到临时Athena数据库/表
使用Athena配置您的数据。 SQL或QuickSight等,以了解您需要改变的内容
使用胶水作业
再运行一个Crawler,将清理后的数据从新的S3位置映射到Athena数据库
您要求的重复数据删除发生在第3步