有幾種添加依賴瓶的方法。我會在HDFS中創建一個名爲lib的目錄,並在其中放置罐子(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
關於你的火花提交:
在你的火花提交沒有必要的,因爲作爲值是一樣的--jars
。檢查說明:
要傳遞給驅動程序的額外類路徑條目。請注意,jar添加了 ,而--jar自動包含在類路徑中。
由於大小和時間的限制,我建議不要使用'fat jar'來複制羣集。在ozzie共享位置複製未解決的maven jar,並將其用於所有火花應用。 – mrsrinivas
在我的情況下,我們使用fat jar,在本地系統中安裝ojdbc7.jar,在pom文件中添加了依賴項。 jar的大小不超過3 MB。有了這個,我們不需要在中做任何增加。 –