【发布时间】:2017-02-01 15:03:44
【问题描述】:
我在通过 SQOOP 从 RDBMS 导入表时遇到问题,我正在使用以下语法执行命令:
sqoop import --connect jdbc:sqlserver://<hostname>:<port>;username=xxx;password=xxx;database=xxx --table xxx --hive-import --create-hive-table --hive-table xxxx
当我通过命令行执行它时,它工作正常,但是当我尝试通过 shell 脚本执行时,它会抛出以下错误:
“error tool.basesqooptool 在创建数据库管理器时出错”
我试过各种排列组合,还是不行
我使用--username --password ,然后将数据库名称移动到与端口号相邻的位置,我使用了--driver。但没有任何工作。
我在 SO 上查看过类似的讨论,但没有一个对我有用。 $SQOOP_HOME/lib 具有所需的库。所有权和组所有权对应于root:root。 “用户”虽然只有read 权限,但我注意到在同一路径中,还有许多其他库,而“用户”拥有rw 权限。我仍然相信,由于该命令是通过 CLI 运行的,因此从脚本执行应该没有问题。我不想在许可的情况下玩,因为它是一个非常受限的环境,我想保留它作为最后的选择。
任何帮助表示赞赏。
【问题讨论】:
-
尝试双引号你的 JDBC URL