pandas - 使用 Airflow 进行多步 Pandas 处理
问题描述
我有一个使用熊猫的多阶段 ETL 转换阶段。基本上,我从 Mongodb 加载了近 2Gb 的数据,然后在列中应用了几个函数。我的问题是,是否有任何方法可以打破多个 Airflow 任务中的这些转换。
我考虑过的选项是:
在 Mongodb 中创建一个临时表并在步骤之间加载/存储转换后的数据帧。我发现这很麻烦,并且由于磁盘 I/O 而完全容易产生不寻常的开销
使用 XCom 在任务之间传递数据。我认为这是一个不错的解决方案,但我担心数据的庞大规模。文档明确说明
任何可以腌制的对象都可以用作 XCom 值,因此用户应确保使用适当大小的对象。
- 在步骤之间使用内存存储。也许将数据保存在 Redis 服务器或其他东西中,但我不确定这是否比完全使用 XCom 更好。
那么,你们中的任何人对如何处理这种情况有任何提示吗?谢谢!
解决方案
推荐阅读
- javascript - 当我调用 axios 请求时如何让微调器显示
- php - WordPress安装期间大约404
- time-complexity - 这种方法的最佳/平均/和最坏情况复杂度(大 O)是多少?
- python - 如何在不丧失键盘/鼠标控制的情况下实现自动化(类似于 selenium 的受控窗口)
- c - 并行区域上的矩阵元素之和导致 OpenMP 上的错误答案
- c# - 是否有有效的算术捷径可用于优化点云的过滤?
- node.js - 在这种情况下使用 GET 而不是 POST 的原因是什么?
- html - snapchat的标签是什么?
- go - 当我使用客户端去 kubernetes 监视列表时的一些问题
- reactjs - 是否可以延迟组件在 React 中被销毁?