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的错误了。