使用sqoop导入数据,表名上有$

0ejtzxu1  于 2021-06-04  发布在  Sqoop
关注(0)|答案(1)|浏览(452)

使用sqoop将数据从oracle数据库导入配置单元时遇到错误:
下面的sqoop命令:

sqoop import \
--connect jdbc:oracle:thin:@connectionString/Database \
--username USERNAME \
--password-file /path/password/file \
--query "SELECT * FROM \"DBO.LOG$_TEST_TABLE\" WHERE \$CONDITIONS" \
--hcatalog-database HIVE_DB \
--hcatalog-table LOG__TEST_TABLE \
-m 1;

以下是运行命令后的错误消息:

ERROR manager.SqlManager: Error executing statement: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist

该表存在于oracle数据库中,但使用的sql语句(打印在屏幕上)是 INFO manager.SqlManager: Executing SQL statement: SELECT * FROM DBO.LOG WHERE (1=0) 表名已剪切到指定表名的“$”之后。

llycmphe

llycmphe1#

已通过在包含$的所有列或表名中添加$解决了此问题。

相关问题