首页 文章

AWS Glue Crawler覆盖数据与附加

提问于
浏览
1

我正在尝试利用Athena在第三方供应商预先ETL的数据上运行SQL并推送到内部S3存储桶 .

ETL供应商每天将CSV文件推送到存储桶 . 除了返回2016年的数据之外,每个文件还包括昨天的数据(即新数据每天到达,但历史数据也可能发生变化) .

我设置了一个AWS Glue Crawler来监控上传CSV文件的特定S3文件夹 .

因为每个文件都包含更新的历史数据,所以我希望找到一种方法,根据上传的最新文件而不是追加来使爬虫 overwrite 成为现有表 . Is this possible?

首先十分感谢!

1 回答

  • 0

    你问的方式是不可能的 . Crawler不会改变数据 .

    Crawler仅使用表格填充AWS Glue Data Catalog . 有关详细信息,请参阅此处:https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html

    如果您想在使用数据之前使用Athena / Glue进行数据清理,您需要按照以下步骤操作:

    • 使用Crawler将数据映射到临时Athena数据库/表中

    • 使用Athena描述您的数据 . SQL或QuickSight等,以了解您需要更改的内容

    • 使用胶水作业

    • 使用PySpark或Scala进行数据转换/清理/重命名/ deduping

    • 将数据导出到S3新位置(.csv / .paruqet等)可能进行分区

    • 再运行一个Crawler,将清理后的数据从新的S3位置映射到Athena数据库

    您要求的重复数据删除发生在第3步

相关问题