我正在尝试连接以使用Spark JDBC从Teradata中提取数据。我创建了一个" lib"在主父目录上的目录并放置外部Teradata jar并运行sbt包。此外,我还提供" - 罐子"我的spark-shell命令选项提供jar。但是,当我运行spark-shell时,它似乎找不到类
Exception in thread "main" java.lang.ClassNotFoundException: com.teradata.hadoop.tool.TeradataImportTool
然而,当我做" jar tvf"在jar文件中,我看到了这个类。不知何故,Spark实用程序无法找到jar。还有什么我需要做的,所以Spark可以找到它吗?请帮忙
答案 0 :(得分:1)
此特定班级--conf spark.driver.extraClassPath complete path of teradata-hadoop-connector.jar
--conf spark.executor.extraClassPath complete path of teradata-hadoop-connector.jar
位于conf/spark-defaults.conf
您可以尝试在提交作业时通过以下示例:
spark.driver.extraClassPath complete path of teradata-hadoop-connector.jar
spark.executor.extraClassPath complete path of teradata-hadoop-connector.jar
OR
将罐子导入驱动器和放大器遗嘱执行人。因此,您需要编辑{{1}}以下两行。
{{1}}
注意:您可以使用uber jar is also known as fat jar即jar 与依赖。以及避免这种情况的替代方法 问题