Sqoop 导入失败:请使用 --split-by 指定一个,或者使用“-m 1”执行顺序导入,即使在设置 mapper = 1 之后也会出错

Sqoop Import failed : Please specify one with --split-by or perform a sequential import with '-m 1' Error even after setting mapper = 1

我正在将 table 从 SQL 服务器导入 Hive。

sqoop import \
--connect "jdbc:sqlserver://<server-name>:<port-no>;database=<database-name>" \
--username <user-name> \
-P \
--table <table-name> \
-- --schema <schema-name> \
--hive-import \
--hive-database <hive-database-name> \
--hive-table <hive-table-name> \
--target-dir /tmp \
-m 1

table 没有主键,所以我添加了 -m 1(到 运行 一个映射器),但我仍然遇到设置“-m 1”的错误。

错误 tool.ImportTool:导入失败:找不到 table 的主键。请使用 --split-by 指定一个或使用“-m 1”执行顺序导入。

我在一个 3 节点集群上工作,版本详细信息是:

发行版:Hortonrowks HDP3.0

Sqoop:1.4

蜂巢:3.1

你必须只使用一个带有 m 参数的破折号:-m 1(不是 --m 1)并将 -- --schema <schema-name> 移动到命令的末尾,因为 Sqoop CLI 有以下结构:

sqoop TOOL PROPERTY_ARGS SQOOP_ARGS [-- EXTRA_ARGS]