创建 Sqoop Hive 导入作业
Create Sqoop Hive Import Job
我使用 Sqoop 成功地从 oracle table 临时导入到 Hive table。现在我想使用我用于临时导入的确切参数创建并保存一个 Sqoop 作业。
但是如果我说:
sqoop job --create myjob --import \
--connect jdbc:mysql://host.port/foo \
--username myUserName \
--password-file file:///myfile.pwd \
--table mytable \
--create-hive-table \
--hive-import \
--hive-database my_hive_db \
--hive-table my_hive_table \
--fields-terminated-by '|' \
--hive-drop-import-delims \
--m 1
我得到一个错误:
19/03/05 14:56:41 ERROR tool.BaseSqoopTool: Error parsing arguments for job:
19/03/05 14:56:41 ERROR tool.BaseSqoopTool: Unrecognized argument: --import
19/03/05 14:56:41 ERROR tool.BaseSqoopTool: Unrecognized argument: --connect
19/03/05 14:56:41 ERROR tool.BaseSqoopTool: Unrecognized argument: jdbc:mysql:@host:port/foo
如果我删除所有\它仍然不起作用。
如何使用 Hive 导入所需的所有参数定义 Sqoop 作业?
似乎是 bash 转义问题。在行尾的后退“\”字符之后不应有 space。您可以看到额外的 spaces:
cat -A sqoop_script.sh
不确定您提供的示例是否错误,但我总是使用稍微不同的语法,其中导入不是作业中的标志。
从 documentation 开始,这 2 个语法对我来说似乎很熟悉:
sqoop import (generic-args) (import-args)
sqoop-import (generic-args) (import-args)
您在 --
和 import
之间缺少 space
。
尝试使用以下语法:
sqoop job --create myjob -- import \
--connect jdbc:mysql://host.port/foo \
--username myUserName \
--password-file file:///myfile.pwd \
--table mytable \
--create-hive-table \
--hive-import \
--hive-database my_hive_db \
--hive-table my_hive_table \
--fields-terminated-by '|' \
--hive-drop-import-delims \
--m 1
我使用 Sqoop 成功地从 oracle table 临时导入到 Hive table。现在我想使用我用于临时导入的确切参数创建并保存一个 Sqoop 作业。
但是如果我说:
sqoop job --create myjob --import \
--connect jdbc:mysql://host.port/foo \
--username myUserName \
--password-file file:///myfile.pwd \
--table mytable \
--create-hive-table \
--hive-import \
--hive-database my_hive_db \
--hive-table my_hive_table \
--fields-terminated-by '|' \
--hive-drop-import-delims \
--m 1
我得到一个错误:
19/03/05 14:56:41 ERROR tool.BaseSqoopTool: Error parsing arguments for job:
19/03/05 14:56:41 ERROR tool.BaseSqoopTool: Unrecognized argument: --import
19/03/05 14:56:41 ERROR tool.BaseSqoopTool: Unrecognized argument: --connect
19/03/05 14:56:41 ERROR tool.BaseSqoopTool: Unrecognized argument: jdbc:mysql:@host:port/foo
如果我删除所有\它仍然不起作用。
如何使用 Hive 导入所需的所有参数定义 Sqoop 作业?
似乎是 bash 转义问题。在行尾的后退“\”字符之后不应有 space。您可以看到额外的 spaces:
cat -A sqoop_script.sh
不确定您提供的示例是否错误,但我总是使用稍微不同的语法,其中导入不是作业中的标志。
从 documentation 开始,这 2 个语法对我来说似乎很熟悉:
sqoop import (generic-args) (import-args)
sqoop-import (generic-args) (import-args)
您在 --
和 import
之间缺少 space
。
尝试使用以下语法:
sqoop job --create myjob -- import \
--connect jdbc:mysql://host.port/foo \
--username myUserName \
--password-file file:///myfile.pwd \
--table mytable \
--create-hive-table \
--hive-import \
--hive-database my_hive_db \
--hive-table my_hive_table \
--fields-terminated-by '|' \
--hive-drop-import-delims \
--m 1