gpt4 book ai didi

hive - 当少数表没有主键时,sqoop import-all 具有并行性

转载 作者:行者123 更新时间:2023-12-04 07:31:14 26 4
gpt4 key购买 nike

我想从 Mysql 中的模式导入所有具有并行性的表。架构中的表很少有主键,很少有没有。如果我们设置没有主键的 mappers(--m>1) 表会失败。
我们如何导入所有具有并行性的表?

最佳答案

我完全同意@leftjoin 在 PK 上的回答。
还有另一种实现并行性的方法,您可以将其用于 RDBMS。
您可以使用 --split-by <<column>> -m no_of_mappers .
这会告诉 sqoop 在将数据导入 hdfs 时使用哪个列来创建拆分。这不必是唯一的,可以是数据在某种程度上均匀分布的任何列,如 org_id 或 Department_id (INT)。 Sqoop 将触发 MAX(col) 和 MIN(COL),然后根据这些值拆分数据。然后将每个映射器的源数据拆分为导入。您可以理解,如果表大小很大来计算最大值和最小值,这可能需要几分钟的时间。
例如,对于 1000 行的表,--split-by dept_id -m 4 .
假设我们有 6 个部门,sqoop 会将数据分成 4 个部分——dept1、dept2 和 3、dept 4、dept 5 和 6。请注意:这只是一个示例,实际分布可能会有所不同。

关于hive - 当少数表没有主键时,sqoop import-all 具有并行性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67921142/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com