和rdd不同,beam的transform可能是多个输入,多个输出,所有transform是节点,PCollection是边

Beam 中的 PCollection 有一个抽象的成员函数Apply。使用任何一个 Transform 时候,你都需要调用这个 apply 方法。

pcollection1 = pcollection2.apply(Transform)final_collection = input_collection.apply(Transform1)
.apply(Transform2)
.apply(Transform3)

常见transform接口:ParDo、GroupByKey。
ParDo 就是 Parallel Do 的意思,通用的并行处理数据操作。
在编写 ParDo 时,你的输入是一个 PCollection 中的单个元素,输出可以是 0 个、1 个,或者是多个元素。作用:过滤一个数据集、格式转化一个数据集、提取一个数据集的特定值

无状态的操作:

static class UpperCaseFn extends DoFn<String, String> {@ProcessElementpublic void processElement(@Element String word, OutputReceiver<String> out) {out.output(word.toUpperCase());}
}PCollection<String> upperCaseWords = words.apply(ParDo.of(new UpperCaseFn())); pcollection.apply(ParDo.of(new DoFn()))

有状态的操作:比如要根据数据库中的数据操作数据

Stateful Transform 和 side input/side output

PCollectionView<Integer> mediumSpending = ...;PCollection<String> usersBelowMediumSpending =userIds.apply(ParDo.of(new DoFn<String, String>() {@ProcessElementpublic void processElement(@Element String userId, OutputReceiver<String> out, ProcessContext c) {int medium = c.sideInput(mediumSpending);if (findSpending(userId) <= medium) {out.output(userId);}}}).withSideInputs(mediumSpending));

beam transform相关推荐

  1. Apache Beam开发指南

    http://blog.csdn.net/blwinner/article/details/54908057 本指南用于指导Beam用户使用Beam SDK创建数据处理pipeline(pipelin ...

  2. Apache Beam指南

    Apache Beam 标签(空格分隔): Hadoop 1. What is Beam ? 前世今生: 诞生背景: 分布式数据处理发展迅猛 –> 新的分布式数据处理技术越来越多 –> H ...

  3. 谷歌发布全新TensorFlow库“tf.Transform” 简化机器学习数据预处理过程

    在实际的机器学习开发中,开发者通常需要对数据集进行大量的耗时费力的预处理过程,以适应各种不同标准的机器学习模型(例如神经网络).这些预处理过程根据待解问题的不同和原始数据的组织形式而各不相同,包括不同 ...

  4. apache beam_Apache Beam ML模型部署

    apache beam This blog post builds on the ideas started in three previous blog posts. 这篇博客文章基于之前 三篇 博 ...

  5. apache beam java api_Apache Beam的基本概念

    不多说,直接上干货! Apache Beam的基本概念 在使用Apache Beam构建数据处理程序,首先需要使用Beam SDK中的类创建一个Driver程序,在Driver程序中创建一个满足我们数 ...

  6. Beam数据流水线——Pipeline

    目录 Beam简介 基本概念 数据流水线 Beam数据流水线的应用 Beam数据流水线的处理模型 Beam数据流水线的错误处理 单Transform错误处理 多步骤Transform错误处理 Beam ...

  7. Apache Beam 使用指南(一)

    Apache Beam 一.概述 更多 Apache Beam 代码案例:https://github.com/xiye50070/Apache-Beam-Model.git Apache Beam是 ...

  8. Apache Beam -- 简介

    概述 在大数据的浪潮之下,技术的更新迭代十分频繁.受技术开源的影响,大数据开发者提供了十分丰富的工具.但也因为如此,增加了开发者选择合适工具的难度.在大数据处理一些问题的时候,往往使用的技术是多样化的 ...

  9. Apache Beam 架构原理及应用实践

    导读:大家好,很荣幸跟大家分享 Apache Beam 架构原理及应用实践.讲这门课之前大家可以想想,从进入 IT 行业以来,不停的搬运数据,不管职务为前端,还是后台服务器端开发.随着这两年科技的发展 ...

最新文章

  1. 论机器学习领域的内卷
  2. 32位汇编语言helloworld_梦开始的地方——Hello World!
  3. 马尔代夫旅游选岛全功略
  4. Virtual DOM和diff算法 概念理解
  5. 【SpringCloud-Alibaba系列教程】14.一文教你入门RocketMQ
  6. 1-1:网络初识之了解什么是协议以及TCP/IP协议
  7. About_PHP_验证码的生成
  8. 理解K8S的编排和网络
  9. python编程可以自学么-python编程还能自学?怎么能学好? - 【大连东软睿道】
  10. php无限级回复页面如何嵌套,php无限级评论嵌套实现代码
  11. Thinkpad T430自带Win7系统重装为XP
  12. 最直白的编译原理-基础知识(清华-王书3版)
  13. 各大主流编程语言简介
  14. Mac 电脑系统重装(详细流程,包含 Intel、Apple M系列)
  15. 【FusionCompute】基于FreeNAS部署并使用虚拟存储(五)
  16. Docer中使能GPU,GDB,perf
  17. 小米等手机企业不再搭载充电头,或许是看上了其中丰厚的利润
  18. 如何让浏览器用极速模式打开网站而不是兼容模式
  19. 面试的一般流程及其常见的问题
  20. Xilinx的FPGA手册中关于如何Booting RFSoCsZynq

热门文章

  1. 手机注册邮箱哪个好用?
  2. js判断密码是否为键盘排序密码
  3. 看运维人员如何“华丽转身”
  4. oracle update set 多个字段,Oracle-update同时更新多个字段多个值
  5. Angular前后端通信
  6. 管理类联考-英语 : 基础 [ 一 ]
  7. 民族史学类毕业论文文献有哪些?
  8. RGB三基色LED实验
  9. 托爾斯泰《安娜‧卡列妮娜》的寫作背景
  10. 中小型企业HR如何做培训计划?