【发布时间】:2017-02-15 17:07:03
【问题描述】:
我有一个 jupyter 笔记本,它在 AWS EMR 集群上使用 Spark 执行一些计算。我已经对其进行了配置,以便我可以通过浏览器访问并运行我的笔记本进行机器学习。 我正在寻找能够让我按计划或从 AWS 上运行的 Web 应用程序按需触发笔记本的解决方案。
我查看了 nbconvert,它允许从终端运行笔记本并执行各种格式的转换。但是,我不清楚如何从 Web 应用程序触发它。
大声思考
似乎我想让 EMR 集群启动并运行,然后可能让 Web 应用程序调用集群上的脚本,该脚本将使用 nbconvert 并运行笔记本?
【问题讨论】:
-
“来自网络应用程序”——太模糊了。这个“网络应用程序”在运行什么?它只是 Amazon Linux,对吧?因此,您可以尝试在安装了 Python 和 Jupyter 的任何地方运行
nbconvert -
如果外部事件“运行笔记本”会发生什么?例如,打开该笔记本的另一个浏览器窗口是否会更新其单元格?听起来您正试图在使用 jupyter 进行原型制作和制作生产版本之间节省一步,并且可能忽略了笔记本原型和生产版本之间必然存在差异,因为它们有不同的要求和受众。
-
@cricket_007 - 是的,Web 应用程序具有 Amazon Linux。但是,如果您安装 Python 和 Jupyter 并在本地运行,它在本地运行是否正确?我正在执行的操作需要 EMR 集群中的一些节点,因为它会进行一些处理
-
远程运行...
spark-submit --master <address_here>。您需要配置 Jupyter 内核来设置主地址。我建议您将笔记本代码提取到您提交给 spark 的.py文件中 -
@cricket_007 我已经将笔记本转换为 .py - 但我想我不清楚如何使用它。由于 jupyter 笔记本只是一个 Web 界面 - 我想我可以按照您的建议使用 spark-submit 对 EMR 集群运行它?
标签: apache-spark remote-access jupyter