运行使用 RDS MySQL 连接的 ETL 作业后,S3 中的多个文件被创建
Posted
技术标签:
【中文标题】运行使用 RDS MySQL 连接的 ETL 作业后,S3 中的多个文件被创建【英文标题】:Multiple files in S3 are getting created after running an ETL job that uses connection of RDS MySQL 【发布时间】:2018-06-29 13:19:50 【问题描述】:我是 AWS 胶水的新手,我想看看我是否可以在 S3 中创建我们的数据湖。为此,我创建了一个 ETL 作业以在 RDS 中的小型 mysql 表上运行。作业完成后,在 S3 中创建了多个 CSV 文件,其中大部分是空的。
我想了解:
-
为什么将数据分区到多个文件中?
我可以在多个表上运行作业吗?在 AWS 控制台中,它只允许选择一个表作为源数据存储。这是否意味着我需要为每个表创建一个工作?
【问题讨论】:
【参考方案1】:这是由于数据键的分布所致。据我所知,您只能手动对密钥进行负载均衡。
可能重复:how can aws glue job upload several tables in redshift。
【讨论】:
嗨@Kishore 感谢您回答这个问题。您能否举例说明第 1 点? 嗨 Aditya,这是由于在您的底层 spark 作业中运行的工人/减速器的数量。每个人都会扔掉一个单独的文件。如果你想减少输出文件的数量,尝试使用 coalesce(n) - 函数,n是你想要的输出文件的数量。以上是关于运行使用 RDS MySQL 连接的 ETL 作业后,S3 中的多个文件被创建的主要内容,如果未能解决你的问题,请参考以下文章