我正在尝试在Oozie中为以下命令创建一个Spark Action:
spark-submit --master yarn --class com.spark.sql.jdbc.SparkDFtoOracle --jars /home/oracle/ojdbc7.jar --driver-class-path /home/oracle/ojdbc7.jar testOracleJdbcDF.jar > tmp
这在Oozie中给出了N个错误。我使用了oozie-examples.tar.gz。
中的workflow.xml模板有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
有几种方法可以添加依赖项jar。我在HDFS中的workflow.xml
旁边创建了一个名为 lib 的目录,并在其中放置了jars(ojdbc7.jar
)。 Oozie将自动将这些罐子提供给该工作流程中的所有操作。
<强> workflow.xml 强>
<workflow-app name="sample-wf" xmlns="uri:oozie:workflow:0.1">
<action name="myfirstsparkjob">
<spark xmlns="uri:oozie:spark-action:0.1">
<job-tracker>[JOB-TRACKER]</job-tracker>
<name-node>[NAME-NODE]</name-node>
<prepare>
<delete path="${jobOutput}"/>
</prepare>
<master>yarn</master>
<mode>client<mode>
<name>Spark DF to Oracle</name>
<class>com.spark.sql.jdbc.SparkDFtoOracle</class>
<jar>hdfs/path/to/testOracleJdbcDF.jar</jar>
<spark-opts>--driver-class-path path_to-some_other_jar </spark-opts>
</spark>
<ok to="myotherjob"/>
<error to="errorcleanup"/>
</action>
</workflow-app>
Spark Action Extension in Ozzie
关于你的火花提交:
在您的点火提交中,不需要提交--driver-class-path
,因为该值与--jars
相同。检查--driver-class-path
说明:
要传递给驱动程序的额外类路径条目。请注意,罐子添加 with --jars会自动包含在类路径中。
答案 1 :(得分:0)
在Maven中安装Ojdbc7.jar并在POM.xml文件中添加以下依赖项
<dependency>
<groupId>oracle.jdbc.driver</groupId>
<artifactId>oraclethin</artifactId>
<version>12c</version>
</dependency>
使用依赖项构建jar。