【发布时间】:2020-12-04 05:53:37
【问题描述】:
我当前的用例是,在一个基于 ETL 的服务中(NOTE:ETL 服务没有使用 Glue ETL,它是一个独立的服务),我从 AWS Redshift 集群获取一些数据到 S3。然后将 S3 中的数据输入到 T 和 L 作业中。我想将元数据填充到 Glue 目录中。最基本的解决方案是使用 Glue Crawler,但爬虫运行大约 1 小时 20 分钟(很多 s3 分区)。我遇到的另一个解决方案是使用 Glue API。但是,我同样面临数据类型定义的问题。
有什么办法,我可以创建/更新我在 S3 中有数据的 Glue 目录表,并且只有在提取过程中才知道数据类型。
而且,当 T 和 L 作业正在运行时,数据类型应该在目录中随时可用。
【问题讨论】:
-
您的用例中有多少个表?
-
会有很多表,粘合目录将仅用作填充到 S3 中的数据的目录。一天内将有大约 100 个作业在运行,生成 500-600 GB 的数据。
-
得到了一些线索,红移“CREATE EXTERNAL TABLE AS”在创建新表时很有用,它也会将数据加载到 S3 中。当表中有更新时,例如添加新分区,我将使用 Athena MSCK REPAIR TABLE 来获取表中的分区。但是,我仍在寻找优化的解决方案,因为 MSCK 无法很好地扩展,并且运行时间会随着数据集大小的增加而增加。
标签: amazon-web-services amazon-s3 amazon-redshift aws-glue aws-glue-data-catalog