调度 pyspark 笔记本

Posted

技术标签:

【中文标题】调度 pyspark 笔记本【英文标题】:scheduling pyspark notebooks 【发布时间】:2016-06-17 11:53:12 【问题描述】:

我有一个 ipython 笔记本,其中包含集群上的一些 PySpark 代码。目前我们正在使用 oozie 通过 HUE 在 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 笔记本?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于调度 pyspark 笔记本的主要内容,如果未能解决你的问题,请参考以下文章

在笔记本上使用 pyspark 从表中删除行

Pyspark 连接到 ipython 笔记本中的 Postgres 数据库

将其中一个用作模块时如何在不同的笔记本中使用“sqlContext”(Pyspark)

如何使用 Python / Pyspark 在 Databricks 笔记本中合并数据帧

如何在资源有限的笔记本电脑上安装 pyspark 和 spark 用于学习目的?

Ipython 笔记本中的 pyspark 引发 Py4JNetworkError