我遇到使用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)
在' $'之后,表名已被删除。指定的表名。
答案 0 :(得分:0)
已经通过在包含$的所有列或表名中添加\ $来解决此问题。