安排 pyspark 笔记本

scheduling pyspark notebooks

我有一个 ipython 笔记本,其中包含集群上的一些 PySpark 代码。目前我们正在通过 HUE 使用 oozie 运行 Hadoop 上的这些笔记本。该设置感觉不太理想,我们想知道是否有其他选择。

我们先把.ipynb文件转换成.py文件,然后移动到hdfs。除了这个文件,我们还创建了一个调用 python 文件的 .sh 文件。内容类似:

#!/bin/sh
set -e

[ -r     /usr/local/virtualenv/pyspark/bin/activate ] &&
source /usr/local/virtualenv/pyspark/bin/activate

spark-submit --master yarn-client --<setting> <setting_val>  <filename>.py

接下来我们让 Oozie 指向这个 .sh 文件。这个流程感觉有点麻烦,Oozie 并没有让我们深入了解出现故障时出了什么问题。我们很喜欢 Oozie 知道如何根据您的配置 运行 并行或串行执行任务。

是否有更好、更顺畅的方式来安排 pyspark 笔记本?

OOZIE-2482 最近被添加到 Oozie 的主控中,这应该会使 运行 PySpark 工作更容易。不幸的是,它还没有发布。

可以将Spark Action添加到您的工作流中,需要在标签中指定py文件。 py 文件和 Spark 版本的 pyspark.zip 和 py4j--src.zip 必须添加到 workflow.xml 旁边的 lib/ 文件夹中,它应该可以工作。