我已将 DMS 配置为将数据从 MySQL RDS 连续复制到 S3。这将创建两种类型的 CSV 文件:完整加载和更改数据捕获 (CDC)。根据我的测试,我有以下文件:
testdb/addresses/LOAD001.csv.gz
testdb/addresses/20180405_205807186_csv.gz
DMS 正常运行后,我触发 AWS Glue Crawler 为包含 MySQL 复制文件的 S3 存储桶构建数据目录,因此 Athena 用户将能够在我们基于 S3 的数据湖中构建查询。
不幸的是,爬虫没有为存储在 S3 中的表构建正确的表模式。对于上面的示例,它为 Athena 创建了两个表:
addresses
20180405_205807186_csv_gz
文件20180405_205807186_csv.gz包含一行更新,但爬虫无法合并这两个信息(从LOAD001.csv.gz获取第一个加载并进行 20180405_205807186_csv.gz 中描述的更新)。
我还尝试在 Athena 控制台中创建表,如本博文所述:https ://aws.amazon.com/pt/blogs/database/using-aws-database-migration-service-and-amazon-athena -to-replicate-and-run-ad-hoc-queries-on-a-sql-server-database/。但它不会产生所需的输出。
来自博客文章:
当您使用 Amazon Athena(本文后面)查询数据时,您只需将文件夹位置指向 Athena,查询结果包括通过组合来自两个文件的数据而插入的现有数据和新数据。
我错过了什么吗?