apache-spark - python版本的apache beam中pcollection的数据类型是什么?
问题描述
我已经阅读了很多教程,他们已经解释过 transform 的输出是 apache Beam 中的 Pcollection。谁能解释一下,Pcollection 是如何存储的,如果我们应用任何转换,它会返回什么数据类型。它是python字典,元组,列表吗?
解决方案
Apache Beam 以延迟方式执行管道。这意味着您在构建管道时无法访问 PCollection 的元素 - 因为尚未计算 PCollection:
p = beam.Pipeline(runner='....')
input_pcollection = p | ReadFromText(...)
result_pcollection = input_pcollection | beam.Filter(...) | beam.Combine(...)
此时,您只告诉了 Beam 它应该在未来执行哪些操作——但这些操作还没有执行。
要实际计算 PCollections,您必须:
p.run().wait_until_finish()
要实际检查 PCollection,请尝试在 Jupyter 或 Collab 笔记本中以交互方式运行:https ://colab.sandbox.google.com/github/apache/beam/blob/master/examples/notebooks/get-started/try-apache-beam- py.ipynb
推荐阅读
- java - 如何通过选择 2 by 2 来计算多个项目的排名
- c - Eclipse IDE 调试器:步入无法正常工作
- node.js - 在 Node.js 服务器上渲染 React
- c++ - 避免c ++编译器警告的正确方法是什么?
- objective-c - 未定义符号:_swift_getOpaqueTypeConformance - React Native & SwiftUI
- javascript - 使用 javascript 在 azure 函数中处理服务总线错误消息
- css - 更改 font-display:swap 的后备字体
- javascript - Javascript:修改documentFragment并多次插入
- xamarin - Azue Devops 多目标构建顺序
- vector - 有没有一种简单的方法可以从“Vec”中准确提取一个元素?