从 SAP HANA 导入数据时出现 sqoop 问题
Posted
技术标签:
【中文标题】从 SAP HANA 导入数据时出现 sqoop 问题【英文标题】:sqoop issue while importing data from SAP HANA 【发布时间】:2017-05-04 20:31:13 【问题描述】:我们目前正在使用 sqoop 将数据从 SAP Hana 移动到 Hadoop。 SAP Hana 表在表名和列名中使用“\”字符。我们的常规 sqoop 命令正在运行,但是当我使用“拆分方式”时它失败了。任何人都可以帮忙。
代码:
/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 行(位于 pos 12)
【问题讨论】:
你看过this或this吗?两种不同的解决方案。搜索了一下,没有好的答案,连bug都发出了也没有解决。 【参考方案1】:你的问题可能就在这里
--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 用户,所以查询可能有问题,无论如何您可以看到我从查询中删除了所有 ' 并且我使用了查询的分隔符
【讨论】:
以上是关于从 SAP HANA 导入数据时出现 sqoop 问题的主要内容,如果未能解决你的问题,请参考以下文章
参数/列未绑定将C#应用程序连接到SAP HANA数据库时出现异常
在 Hadoop 2.7.3 上执行简单 SQOOP 导入命令时出现 Sqoop 错误