gpt4 book ai didi

mysql - SQOOP导入相关查询

转载 作者:行者123 更新时间:2023-11-29 19:28:22 25 4
gpt4 key购买 nike

我在通过 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 got error creating database manager"

尝试了各种排列组合,还是不行

我使用了 --username --password ,然后将数据库名称移到端口号旁边,我使用了 --driver 。但没有任何作用。

我在 SO 上检查过类似的讨论,但没有一个对我有用。 $SQOOP_HOME/lib 具有所需的库。所有权和组所有权对应于root:root。不过,“用户”只有 read 权限,而且我注意到在同一路径中,还有许多其他库,并且“用户”具有 rw 权限。我仍然相信,由于该命令是通过 CLI 运行的,因此从脚本执行应该不会出现问题。我不想使用该权限,因为它是一个非常受限制的环境,我想将其保留为最后一个选项。

感谢任何帮助。

最佳答案

当您多次覆盖同一个表时,就会发生这种情况。

使用下面的Sqoop命令看看

sqoop import -libjars/var/lib/sqoop/ojdbc6.jar --connect 'jdbc:oracle:thin:@hostname/service_name' - -用户名用户-密码密码-m 1 --hive-overwrite --hive-import --hive-databasedatabase_name --hive-table table_nmae --target-dir '/user/hive/warehouse/databasename.db/tablename' --query "select * from source_database.source_tablename WHERE 1=1 AND\$CONDITIONS"

如果仍然出现相同的错误,请将目标目录更改为其他 hdfs 位置(例如:/temp/test/table_name)

如果它反射(reflect)了错误后的任何错误,我可以更好地帮助您。

关于mysql - SQOOP导入相关查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41982977/

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