使用sqoop导入数据,表名为$

时间:2016-03-07 04:54:00

标签: oracle hive hortonworks-data-platform sqoop

我遇到使用sqoop将数据从Oracle数据库导入hive时出错:

下面的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)

在' $'之后,表名已被删除。指定的表名。

1 个答案:

答案 0 :(得分:0)

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