Apache Zeppelin 笔记本部署
Apache Zeppelin Notebook Deployment
我是使用 PySpark 进行 ETL 开发的新手,我一直在 Apache Zeppelin Notebooks 上将脚本编写为段落。我很好奇部署过程的典型流程是什么?您如何将代码从 Zeppelin Notebook 转换为 ETL 管道?
谢谢!
好吧,这在很大程度上取决于您正在执行的 ETL 类型。
如果您想将脚本保留在笔记本中并且您只需要编排它们的执行,那么您有几个选择:
- 使用Zeppelin's built-in scheduler
- 使用 cron 通过
curl
命令和 Zeppelin's REST API 启动笔记本
但是,如果您已经拥有像 Apache Airflow 这样的新兴 运行 工作流管理工具,那么您可以添加新任务来启动上述 curl
命令来触发笔记本(使用 Airflow,您可以使用 BashOperator 或 PythonOperator),但请记住,您需要一些变通方法才能按顺序执行不同的注释。
一家在笔记本电脑上投入重金的科技公司是 Netflix(你可以看看 this), and they developed a set of tools to improve the effeciency of notebook-based ETL pipelines, like Commuter and Papermill。他们更喜欢 Jupyter,所以仍然没有提供 Zeppelin 兼容性,但核心概念应该是使用 Zeppelin 时也是如此。
有关 Netflix 基于笔记本的管道的更多信息,您可以参考 this article 在他们的技术博客上分享。
我是使用 PySpark 进行 ETL 开发的新手,我一直在 Apache Zeppelin Notebooks 上将脚本编写为段落。我很好奇部署过程的典型流程是什么?您如何将代码从 Zeppelin Notebook 转换为 ETL 管道?
谢谢!
好吧,这在很大程度上取决于您正在执行的 ETL 类型。
如果您想将脚本保留在笔记本中并且您只需要编排它们的执行,那么您有几个选择:
- 使用Zeppelin's built-in scheduler
- 使用 cron 通过
curl
命令和 Zeppelin's REST API 启动笔记本
但是,如果您已经拥有像 Apache Airflow 这样的新兴 运行 工作流管理工具,那么您可以添加新任务来启动上述 curl
命令来触发笔记本(使用 Airflow,您可以使用 BashOperator 或 PythonOperator),但请记住,您需要一些变通方法才能按顺序执行不同的注释。
一家在笔记本电脑上投入重金的科技公司是 Netflix(你可以看看 this), and they developed a set of tools to improve the effeciency of notebook-based ETL pipelines, like Commuter and Papermill。他们更喜欢 Jupyter,所以仍然没有提供 Zeppelin 兼容性,但核心概念应该是使用 Zeppelin 时也是如此。
有关 Netflix 基于笔记本的管道的更多信息,您可以参考 this article 在他们的技术博客上分享。