从sap hana导入数据时出现sqoop问题

mrfwxfqh  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(537)

我们目前正在使用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位)

zbq4xfa0

zbq4xfa01#

你的问题可能在这里

--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')"  \

假设“\”是终端使用的转义字符,这可能是错误的。请尝试以下操作

--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")'  \

我不是sap用户,所以可能是查询出了问题,不管怎样,您可以看到我从查询中删除了所有的',并使用了作为查询的分隔符

相关问题