Oozie - Spark Action > 在哪里添加 ojdbc.jar 以访问 oracle JDBC
Oozie - Spark Action > where to add ojdbc.jar to access oracle JDBC
我正尝试在 Oozie 中为以下命令创建一个 Spark 动作:
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 模板
谁能帮我解决这个问题?
有几种添加依赖jar 的方法。我会在 HDFS 中的 workflow.xml
旁边创建一个名为 lib 的目录,并将 jars(ojdbc7.jar
) 放在那里。 Oozie 将自动使这些 jar 可用于该工作流程中的所有操作。
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
关于您的 spark 提交:
在您的 spark 中,不需要提交 --driver-class-path
,因为该值与 --jars
相同。检查 --driver-class-path
描述:
Extra class path entries to pass to the driver. Note that jars added
with --jars are automatically included in the classpath.
在 Maven 中安装 Ojdbc7.jar 并在 POM.xml 文件中添加以下依赖项
<dependency>
<groupId>oracle.jdbc.driver</groupId>
<artifactId>oraclethin</artifactId>
<version>12c</version>
</dependency>
使用依赖项构建 jar。
我正尝试在 Oozie 中为以下命令创建一个 Spark 动作:
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 模板谁能帮我解决这个问题?
有几种添加依赖jar 的方法。我会在 HDFS 中的 workflow.xml
旁边创建一个名为 lib 的目录,并将 jars(ojdbc7.jar
) 放在那里。 Oozie 将自动使这些 jar 可用于该工作流程中的所有操作。
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
关于您的 spark 提交:
在您的 spark 中,不需要提交 --driver-class-path
,因为该值与 --jars
相同。检查 --driver-class-path
描述:
Extra class path entries to pass to the driver. Note that jars added with --jars are automatically included in the classpath.
在 Maven 中安装 Ojdbc7.jar 并在 POM.xml 文件中添加以下依赖项
<dependency>
<groupId>oracle.jdbc.driver</groupId>
<artifactId>oraclethin</artifactId>
<version>12c</version>
</dependency>
使用依赖项构建 jar。