我们目前正在使用sqoop将数据从sap-hana移动到hadoop。sap hana表在表名和列名中使用“\”字符。我们的reqularsqoop命令正在工作,但是当我使用“splitby”时它失败了。有谁能帮忙吗。
代码:
/usr/hdp/sqoop/bin/sqoop import \
--connect "jdbc:sap://***-***.**.*****.com:30015" \
--username DFIT_SUPP_USR --password****\
--driver com.sap.db.jdbc.Driver \
--query "select '\"/BA1/C55LGENT/\"' FROM \"_SYS_BIC\".\"sap.fs.frdp.300.RDL/BV_RDL_ZAFI______Z_SLPD\" where \$CONDITIONS and (\"/BA1/C55LGENT\") IN ('0000000671','0000000615') and (\"/BA1/C55LGENT\" != '0000000022') AND (\"/BIC/ZCINTEIND\" ='01') AND (\"/BA1/IGL_ACCOUNT\") IN ( '0000401077', '0000401035') AND (\"/BA1/C55POSTD\">= '20170101' AND \"/BA1/C55POSTD\" <='20170101')" \
--target-dir /user/arekapalli/pfit_export_test12 \
--delete-target-dir \
--split-by //BA1//C55LGENT// \
-m 10
下面是我们得到的错误。。
原因:com.sap.db.jdbc.exceptions.jdbcdriverexception:sap dbtech jdbc:[257](第12位):sql语法错误:第1行第12列附近语法不正确(第12位)
1条答案
按热度按时间zbq4xfa01#
你的问题可能在这里
假设“\”是终端使用的转义字符,这可能是错误的。请尝试以下操作
我不是sap用户,所以可能是查询出了问题,不管怎样,您可以看到我从查询中删除了所有的',并使用了作为查询的分隔符