Sqoop导入数据到Oracle数据库表别名前使用了as如何避免

sqoop export \
--driver oracle.jdbc.driver.OracleDriver \
--connect jdbc:oracle:thin:@//10.10.122.165:1521/new \
--username test \
--password 'test2008' \
--table ORDER_O \
--export-dir /user/hive/warehouse/test.db/order_o \
--columns cv_time,cv_date \
--input-fields-terminated-by '\t' \
--input-lines-terminated-by '\n' \
--input-null-string '\N' \
--input-null-non-string '\N'

执行后报错如下:
图片说明

发现sql语句中表别名加了as,oracle数据库无法识别,请问如何避免。

根据你提供的信息,我可以看出执行Sqoop导入数据到Oracle数据库时,出现了表别名前使用了as的问题。出现这个问题的原因是,Oracle数据库不支持表别名前使用as的语法。为了避免这个问题,你需要修改导入数据的Sqoop命令,去掉表别名前的as。

具体地,修改命令中的--table参数,去掉ORDER_O表别名前的as,即将"--table ORDER_O"修改为"--table ORDER_O"。

修改后的Sqoop导入数据命令如下所示:

sqoop export \

--driver oracle.jdbc.driver.OracleDriver \

--connect jdbc:oracle:thin:@//10.10.122.165:1521/new \

--username test \

--password 'test2008' \

--table ORDER_O \

--export-dir /user/hive/warehouse/test.db/order_o \

--columns cv_time,cv_date \

--input-fields-terminated-by '\t' \

--input-lines-terminated-by '\n' \

--input-null-string '\N' \

--input-null-non-string '\N'

修改后,重新执行Sqoop导入数据的命令,应该不再提示关于表别名前使用as的错误了。