使用Spark JDBC连接到Teradata
问题描述:
我试图连接到使用Spark JDBC从Teradata中提取数据。我在主父目录上创建了一个“lib”目录,并放置了外部Teradata JAR并运行了sbt包。另外,我还在我的spark-shell命令中提供了“--jars”选项来提供jar。然而,当我运行火花外壳,它似乎并没有找到类使用Spark JDBC连接到Teradata
Exception in thread "main" java.lang.ClassNotFoundException: com.teradata.hadoop.tool.TeradataImportTool
然而,当我做“罐子TVF”的jar文件,我看到了类。不知何故,Spark实用程序无法找到该jar。还有什么我需要做的,所以Spark能找到它吗?请帮助
答
这种特殊类com.teradata.hadoop.tool.TeradataImportTool
在teradata-hadoop-connector.jar
你可以尝试在提交的工作就像下面的例子来传递:
--conf spark.driver.extraClassPath complete path of teradata-hadoop-connector.jar
--conf spark.executor.extraClassPath complete path of teradata-hadoop-connector.jar
OR
进口罐子两个司机&执行。所以,你需要编辑conf/spark-defaults.conf
在下面添加两行。
spark.driver.extraClassPath complete path of teradata-hadoop-connector.jar
spark.executor.extraClassPath complete path of teradata-hadoop-connector.jar
-
注意:您可以使用uber jar is also known as fat jar即罐子 与依赖。还有另一种方法来避免这种问题的
+0
它工作吗?如果是的话,你可以投票/接受为所有者或说这是我的问题...沉默不会帮助! –
尝试添加到你的脂肪罐子。这帮助我处于类似的情况。 – morfious902002