将没有数字 ID 的非常大的表从 MySQL 加载到 S3
Posted
技术标签:
【中文标题】将没有数字 ID 的非常大的表从 MySQL 加载到 S3【英文标题】:Loading a very large table without a numeric ID from MySQL to S3 【发布时间】:2016-09-30 09:37:44 【问题描述】:我正在尝试将 mysql 中的一个大表(500GB 大小,大约 200M 行)泵入(使用 Sqoop)到 S3。但是,此表没有数字键列。
它有一个包含 3 列的组合主键。我观察到 sqoop 无法均匀地对数据集进行分块,因为 ID 在最小值和最大值之间分布不均匀。 sqoop 中的 Rage 查询效果不佳,因为该列未编入索引。
有没有更好的方法来使用 sqoop 或任何其他技术来做到这一点?
附:我正在尝试将数据输出为 AVRO 文件
【问题讨论】:
一个 500GB 的表 :o (我很确定即使是整个 Stack Exchange database 也没有那么大)。是什么让它这么大? 它的交易数据:) 【参考方案1】:如果您的表具有多列键,则需要使用 --split-by 参数使用不同的列手动指定范围。 Sqoop 不支持多列。
【讨论】:
又一个第三方软件挡路的案例?以上是关于将没有数字 ID 的非常大的表从 MySQL 加载到 S3的主要内容,如果未能解决你的问题,请参考以下文章