首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果表没有主键或唯一键,如何在两个不同的文件(记录均匀分布)中导入20000条记录?

如果表没有主键或唯一键,如何在两个不同的文件(记录均匀分布)中导入20000条记录?
EN

Stack Overflow用户
提问于 2016-09-06 11:04:15
回答 2查看 2.3K关注 0票数 0

我在一个表中有20000条记录。我希望将它们复制到两个单独的文件(记录均匀分布)到HDFS中(使用Sqoop)。如果表没有主键或唯一键,我们如何实现这一点?

EN

回答 2

Stack Overflow用户

发布于 2016-09-06 17:09:52

确保您使用-m 2进行--split-by col1,否则您将看到一个错误。

票数 0
EN

Stack Overflow用户

发布于 2016-09-06 11:43:36

具有主键或唯一键的不是并行导入的限制。

不建议对非均匀分布的列进行拆分,因为这会导致任务不平衡。

现在,您的记录是均匀分布的。因此,这不会有任何性能问题。

让我用一个例子来解释它是如何工作的,

您有一个包含列col1的表,这些列的值从1到100(其中也有一些重复的值)。

现在,sqoop将确定最小值和最大值,并将其拆分为两部分

  • 1 - 50
  • 51 - 100

映射器将使用如下查询通过JDBC获取数据-

  • SELECT * FROM sometable WHERE id >= 1 AND id < 50
  • SELECT * FROM sometable WHERE id >= 51 AND id < 100

因此,使用两个映射器(-m 2)继续您的sqoop import查询。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39340031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档