Jupyter Notebooks 和 Papermill 辅助的 Airflow 中的 ETL

2023-12-11

所以我的问题是,我在 Airflow 中构建 ETL 管道,但首先在 Jupyter 笔记本中真正开发和测试提取、转换和加载功能。因此,我最终总是在 Airflow Python 操作员代码和 Jupyter 笔记本之间来回复制粘贴,效率非常低!我的直觉告诉我,所有这一切都可以自动化。

基本上,我想在 Jupyter 中编写我的提取、转换和加载函数,并让它们保留在那里,同时仍在 Airflow 中运行管道并显示提取、转换和加载任务,并进行重试和 Airflow 提供的所有好东西提供开箱即用的功能。

Papermill 能够对笔记本进行参数化,但我真的想不出这对我的情况有什么帮助。有人可以帮我把这些点联系起来吗? ????????


[免责声明:我是上述开源项目的提交者之一。] 我们已经创建了Elyra- 一组 JupyterLab 扩展 - 精确简化此类工作。我们刚刚发布了 2.1 版本,它提供了一个可视化编辑器,您可以使用它从笔记本和 Python 脚本组装管道(R 支持很快就会推出),并在 Apache Airflow、Kubeflow Pipelines 或本地 JupyterLab 上运行它们。对于 Airflow(在 Kubernetes 上运行),我们创建了一个自定义运算符负责内务管理和执行。我写了一篇关于它的总结文章,你可以找到here我们有几个入门教程如果您有兴趣尝试一下。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Jupyter Notebooks 和 Papermill 辅助的 Airflow 中的 ETL 的相关文章

随机推荐

  • Bootstrap 3 不同高度的响应式列

    EDIT定价表的内容将全部动态生成 我无法预测它们的高度 我只是使用400px图表的情况 所以我无法为每列设置静态高度作为修复 我有 8 个定价表 他们都是similar高度接近 400px 最大 红色方块 高度为 430 像素 最小高度为
  • 如何使用 vue 3 从字符串渲染组件?

    我正在尝试从字符串渲染组件 但没有成功 我的代码如下
  • 我应该为 mp3 使用哪种 mime 类型

    我正在尝试决定选择哪种 mime 类型来返回 mp3 数据 由 php 提供 根据此 mime 类型列表 http www webmaster toolkit com mime types shtml mp3 audio mpeg3 mp3
  • pyspark中指定多列数据类型更改为不同数据类型

    我有一个数据框 df 由50多个列和不同类型的数据类型组成 例如 df3 printSchema CtpJobId string nullable true TransformJobStateId string nullable true
  • 拒绝访问目录中的所有文件,除非特定的 php 页面是引荐来源网址

    我们将文件存储在 uploads downloads 目录中 可以通过 php 文件以以下方式访问这些文件https www example com request file php file 123 该 PHP 文件查询数据库表并返回存储
  • 在 ionic cordova 中使用 twitter 登录无法使用 $cordovaOauth.twitter

    我想使用 Cordova Oauth 插件集成 Twitter 登录以验证我的混合应用程序中的用户 遵循以下说明ngcordova oauth 演示步骤来自Here 因为回调 URI 必须指向 localhost callback 否则登录
  • 检测字体是否支持变体(如上标和下标)

    WPF 有版式 变体附加属性可让您执行上标和下标 但是 它仅适用于某些字体 对于其他字体 变体完全被忽略 文本正常显示 代码示例和屏幕截图here 由于它默默地退回到无操作状态 我不知道出了什么问题 但我的用户会看到糟糕的行为 有什么方法可
  • 如何在 VueJS 项目构建时使用环境变量

    我正在尝试在期间使用环境变量buildVueJS 应用程序的 CI 作业阶段 我正在使用 GitLab CI 可用的环境变量之一是CI COMMIT SHORT SHA build image node latest stage build
  • SQL:多次重复结果行,并对行进行编号

    我有一个 SQL 查询 结果如下 value count foo 1 bar 3 baz 2 现在我想扩展它 以便每一行都有一个count大于 1 的值出现多次 我还需要对这些行进行编号 所以我会得到 value count index f
  • 调用外部模块时多处理池速度缓慢

    我的脚本正在调用librosa用于计算短音频片段的梅尔频率倒谱系数 MFCC 的模块 加载音频后 我想尽快计算这些 以及其他一些音频功能 因此进行多重处理 问题 多处理变体比顺序处理慢得多 分析显示我的代码 90 以上的时间都花在
  • 如何搜索 sap.m.Tree 中的所有节点?

    我目前正在为我的公司开发 MasterDetail 应用程序 该应用程序提供以节点表示的可扩展类别 节点及其子节点与导航属性的绑定不是问题 但是 如果我想在上面的搜索字段中搜索某个组节点 它只会在四个最高节点之间进行过滤 它可以搜索第一层的
  • 使用 Javascript 将 xml POST 到 api

    我正在尝试发布 XML 数据 然后重定向到当前页面 但我似乎无法让它工作 当我这样做时
  • vscode:如何获取光标在文档中的偏移量?

    我正在开发 vscode 扩展 我想获取对整个文档的光标位置引用 例如 如果我有以下 html lt body gt div p Hello World p div 并且光标位于 body 标记内 在上面的代码中签名 如果从头开始计算文档中
  • Xcode:将数据从 iOS TextField 发送到远程数据库的最简单方法

    我目前在 HostGator com 上有一个在线网络托管 MySQL 数据库 该数据库当前存储我的服务的用户注册信息 目前 在该数据库中存储信息的唯一方法是通过网站上的在线表格 我的目标是通过使用文本字段等在 iOS 应用程序上复制该表单
  • 如何按创建日期顺序显示文件夹?

    我是 PHP 新手 正在开发一个名为 BaboonHut com 的项目 我正在用 PHP 对其进行编码 因为最好的学习方法就是深入研究 无论如何 对于这个问题 下面的代码片段当前获取所有文件夹的名称在某个位置并显示一些信息 但是这些项目当
  • DELETE 方法 .NET WebAPI 不起作用

    我已经看过大量关于此问题的帖子 但我的新 WebAPI 的 DELETE 方法根本不起作用 并且使用 Windows 7 32 位 IIS 7 5 返回 404 我试过了 卸载 WebDAV 将 PUT DELETE OPTIONS 添加到
  • 使用 Blob 在 JavaScript 中导出 Excel 在 FireFox 中不起作用

    我有一些 JavaScript 代码 如第一个代码片段所示 适用于最新的 Chrome 但不适用于最新的 FireFox 此代码将数据导出到xls使用 Blob 对象的文件 奇怪的是 在 FireFox 中 代码不会抛出任何错误 但不会执行
  • 如何将文件中的行转换为没有换行符的字符串?

    我正在使用 Python 3 循环遍历包含字符串的 txt 文件的行 这些字符串将在curl 命令中使用 但是 它仅适用于文件的最后一行 我相信其他行以换行符结尾 这会导致字符串丢失 url https with open file as
  • 读取 ID3 标签的最佳库是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 哪个库是目前最全面 功能最
  • Jupyter Notebooks 和 Papermill 辅助的 Airflow 中的 ETL

    所以我的问题是 我在 Airflow 中构建 ETL 管道 但首先在 Jupyter 笔记本中真正开发和测试提取 转换和加载功能 因此 我最终总是在 Airflow Python 操作员代码和 Jupyter 笔记本之间来回复制粘贴 效率非