SQOOP 无法加载 SAP HANA 驱动程序
SQOOP is not able load SAP HANA driver
我正在尝试使用 SQOOP 将数据从 SAP HANA 数据库导入到 Azure DataLake Store。
为此,我下载了 HDB 客户端以连接到 HANA 数据库,但我正在寻找将 'ngdbc.jar' 复制到 $SQOOP_HOME/lib 的位置。在 HDInsight 集群上,我看不到环境变量 $SQOOP_HOME/lib,它似乎是空白的。谁能指出我在 HDP - HDInsight 集群上的正确位置。
目前,我遇到以下错误。
sshadmin@hn0-busea2:~$ sqoop import --connect 'jdbc:sap://XXXXXXX0004.ms.XXXXXXX.com:30015/?database=HDB&user=XXXXXXXXX&password=XXXXXXXXXXXXX' --driver com.sap.db.jdbc.Driver \
--query 'select * from XXX.TEST_HIERARCHY where $CONDITIONS' \
--target-dir 'adl://XXXXXXXXXXXXX.azuredatalakestore.net:443/hdi-poc-dl/SAP_TEST_HIERARCHY' \
--m 1;
Warning: /usr/hdp/2.4.2.4-5/accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
17/01/18 10:34:26 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6.2.4.2.4-5
17/01/18 10:34:26 WARN sqoop.ConnFactory: Parameter --driver is set to an explicit driver however appropriate connection manager is not being set (via --connection-manager). Sqoop is going to fall back to org.apache.sqoop.manager.GenericJdbcManager. Please specify explicitly which connection manager should be used next time.
17/01/18 10:34:26 INFO manager.SqlManager: Using default fetchSize of 1000
17/01/18 10:34:26 INFO tool.CodeGenTool: Beginning code generation
17/01/18 10:34:26 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: com.sap.db.jdbc.Driver
java.lang.RuntimeException: Could not load db driver class: com.sap.db.jdbc.Driver
at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:856)
at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52)
at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:744)
at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:767)
at org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:270)
at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:241)
at org.apache.sqoop.manager.SqlManager.getColumnTypesForQuery(SqlManager.java:234)
at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:304)
at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1845)
at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1645)
at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:107)
at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478)
at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605)
at org.apache.sqoop.Sqoop.run(Sqoop.java:148)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:184)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:226)
at org.apache.sqoop.Sqoop.runTool(Sqoop.java:235)
at org.apache.sqoop.Sqoop.main(Sqoop.java:244)
试试这个路径 /usr/hdp/current/sqoop-client/lib/
我正在尝试使用 SQOOP 将数据从 SAP HANA 数据库导入到 Azure DataLake Store。 为此,我下载了 HDB 客户端以连接到 HANA 数据库,但我正在寻找将 'ngdbc.jar' 复制到 $SQOOP_HOME/lib 的位置。在 HDInsight 集群上,我看不到环境变量 $SQOOP_HOME/lib,它似乎是空白的。谁能指出我在 HDP - HDInsight 集群上的正确位置。
目前,我遇到以下错误。
sshadmin@hn0-busea2:~$ sqoop import --connect 'jdbc:sap://XXXXXXX0004.ms.XXXXXXX.com:30015/?database=HDB&user=XXXXXXXXX&password=XXXXXXXXXXXXX' --driver com.sap.db.jdbc.Driver \
--query 'select * from XXX.TEST_HIERARCHY where $CONDITIONS' \ --target-dir 'adl://XXXXXXXXXXXXX.azuredatalakestore.net:443/hdi-poc-dl/SAP_TEST_HIERARCHY' \ --m 1; Warning: /usr/hdp/2.4.2.4-5/accumulo does not exist! Accumulo imports will fail. Please set $ACCUMULO_HOME to the root of your Accumulo installation. 17/01/18 10:34:26 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6.2.4.2.4-5 17/01/18 10:34:26 WARN sqoop.ConnFactory: Parameter --driver is set to an explicit driver however appropriate connection manager is not being set (via --connection-manager). Sqoop is going to fall back to org.apache.sqoop.manager.GenericJdbcManager. Please specify explicitly which connection manager should be used next time. 17/01/18 10:34:26 INFO manager.SqlManager: Using default fetchSize of 1000 17/01/18 10:34:26 INFO tool.CodeGenTool: Beginning code generation 17/01/18 10:34:26 ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: com.sap.db.jdbc.Driver java.lang.RuntimeException: Could not load db driver class: com.sap.db.jdbc.Driver at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:856) at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52) at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:744) at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:767) at org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:270) at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:241) at org.apache.sqoop.manager.SqlManager.getColumnTypesForQuery(SqlManager.java:234) at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:304) at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1845) at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1645) at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:107) at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478) at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605) at org.apache.sqoop.Sqoop.run(Sqoop.java:148) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:184) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:226) at org.apache.sqoop.Sqoop.runTool(Sqoop.java:235) at org.apache.sqoop.Sqoop.main(Sqoop.java:244)
试试这个路径 /usr/hdp/current/sqoop-client/lib/