运行 通过 Oozie 的 Spark 作业

Running Spark Jobs via Oozie

是否可以 运行 Spark 作业,例如通过 Oozie 的 Spark-sql 工作?

过去我们将 Oozie 与 Hadoop 结合使用。由于我们现在在 YARN 之上使用 Spark-Sql,因此正在寻找一种使用 Oozie 来安排作业的方法。

谢谢。

是的可能...过程也是相同的,您必须为 Oozia 提供一个包含 coordinator.xmlworkflow.xml 的目录结构和一个包含您的 Jar 文件的 lib 目录。
但请记住,Oozie 使用 java -cp 命令开始工作,而不是使用 spark-submit,所以如果你必须使用 Oozie 运行 它,这里有一个技巧。
运行 你的罐子 spark-submit 在后台。 在进程列表中查找该进程。它将在 java -cp 命令下 运行ning,但有一些额外的 Jar,由 spark-submit 添加。在 CLASS_PATH 中添加这些 Jar。就是这样。现在您可以通过 Oozie 运行 您的 Spark 应用程序。

1.  nohup spark-submit --class package.to.MainClass /path/to/App.jar &
2.  ps aux | grep '/path/to/App.jar'

已编辑: 您还可以使用最新的 Oozie,它也有 Spark Action

要使用 Oozie 的 运行 Spark SQL,您需要使用 Oozie Spark Action。 您可以在您的发行版中找到 oozie.gz。通常在 cloudera 中,您可以在下面的路径中找到这个 oozie 示例目录。 ]$ 定位 oozie.gz /usr/share/doc/oozie-4.1.0+cdh5.7.0+267/oozie-examples.tar.gz

Spark SQL 需要 hive-site.xml 文件执行,您需要在 workflow.xml

中提供

--文件/hive-site.xml