3

我在 SQOOP 中运行了下面的代码片段,并在代码下方列出了错误。

bin/sqoop job --create myjob import --connect jdbc:mysql://localhost/test -username root -password root --table patient -m 1 --target-dir /Sqoop/MRJob

管理员@ubuntu:~/sqoop-1.4.4.bin__hadoop-1.0.0$ bin/sqoop job --create myjob import --connect jdbc:mysql://localhost/test -username root -password root --table Patient - m 1 --target-dir /Sqoop/MRJob 警告:/usr/lib/hcatalog 不存在!HCatalog 作业将失败。请将 $HCAT_HOME 设置为 HCatalog 安装的根目录。警告:不推荐使用 $HADOOP_HOME。

2016 年 7 月 14 日 23:23:36 错误 tool.BaseSqoopTool:解析作业参数时出错:14/07/16 23:23:36 错误 tool.BaseSqoopTool:无法识别的参数:导入 16 年 7 月 23:23:36错误工具.BaseSqoopTool:无法识别的参数:--connect 14/07/16 23:23:36 错误工具.BaseSqoopTool:无法识别的参数:jdbc:mysql://localhost/test 14/07/16 23:23:36 错误工具.BaseSqoopTool:无法识别的参数:-用户名 14/07/16 23:23:36 错误工具。BaseSqoopTool:无法识别的参数:root 14/07/16 23:23:36 错误工具.BaseSqoopTool:无法识别的参数:-密码 14/07 /16 23:23:36 错误工具。BaseSqoopTool:无法识别的参数:root 14/07/16 23:23:36 错误工具。BaseSqoopTool:无法识别的参数:--table 14/07/16 23:23:36 错误工具。 BaseSqoopTool:无法识别的参数:患者 2016 年 14 月 7 日 23:23:36 错误工具。BaseSqoopTool:无法识别的参数:-m 14/07/16 23:23:36 错误工具.BaseSqoopTool:无法识别的参数:1 14/07/16 23:23:36 错误工具.BaseSqoopTool:无法识别的参数:--target-dir 14/07/16 23 :23:36 错误工具。BaseSqoopTool:无法识别的参数:/Sqoop/MRJob

尝试 --help 以获取使用说明。用法:sqoop 作业 [GENERIC-ARGS] [JOB-ARGS] [-- [] [TOOL-ARGS]]

作业管理参数: --create 创建新的保存作业 --delete 删除保存的作业 --exec 运行保存的作业 --help
打印使用说明 --list 列出保存的作业 --meta-connect 指定元存储的 JDBC 连接字符串--show 显示已保存作业的参数 --verbose
在工作时打印更多信息

通用 Hadoop 命令行参数:(必须在任何特定于工具的参数之前)支持的通用选项有 -conf 指定应用程序配置文件 -D 使用给定属性的值 -fs 指定名称节点 -jt 指定作业跟踪器 -files 指定逗号分隔要复制到映射的文件 reduce cluster -libjars 指定要包含在类路径中的逗号分隔的 jar 文件。-archives 指定要在计算机上取消存档的逗号分隔存档。

一般的命令行语法是 bin/hadoop command [genericOptions] [commandOptions]

有人可以帮我吗?

在此先感谢您的帮助。

注意:我的 SQL 相关词典是完美的。问候

4

3 回答 3

12

您需要在 sqoop 命令中进行一些小改动。正确的语法是

bin/sqoop job --create myjob -- import --connect jdbc:mysql://localhost/test --username root --password root --table PATIENT -m 1 --target-dir /Sqoop/MRJob

[注:“--”和导入前的空格。其次,在用户名和密码前使用 POSIX 符号“--”。第三使用大写来指定表名]它应该可以工作。

很少有标准:使用选项文件来存储凭据(用户名、密码和连接字符串)并将其作为参数传递给 --options-file。希望这可以帮助。

于 2014-07-16T19:17:49.473 回答
1

尝试编写以下命令。

gopal@ubuntu:~$ `sqoop job --create JobName -- import --connect jdbc:mysql://localhost/DatabaseName --table tablename -m1 --target-dir /OutPutDirectoryName;`
于 2016-01-09T15:59:11.933 回答
0

最好在 .bashrc 中设置 SQOOP_PATH 并运行

user@hostname:~$ gedit .bashrc

在 .bashrc 文件中添加以下行

export SQOOP_HOME=/usr/lib/sqoop
export PATH=$PATH:$SQOOP_HOME/bin

现在,您可以通过以下方式运行 sqoop 作业

sqoop import --connect jdbc:mysql://localhost/test --username root --password root --table patient --m 1 --target-dir /Sqoop/MRJob
于 2014-07-17T09:58:06.700 回答