Beam技术

2023-10-27

一、简介

在大数据处理中,流计算技术包括Storm、Spark Streaming和Flink,实际应用中还包括Storm Trident、Samura以及Google MillWhell和亚马逊的Kinesis等技术。离线处理基本上都基于Hadoop和Hive,那么实时流计算技术能否像离线数据处理一样出现Hadoop和Hive这种事实上的技术标准呢?Google给出的答案是:Beam。

Apache Beam被认为是继MapReduce、GFS、Bigtable等之后,Google在大数据处理领域对开源社区的又一大贡献,现已成为Apache顶级项目。当然,Beam也代表了Google对数据处理领域一统江湖的雄心。

官网是这样介绍的,Apache Beam是一个先进的统一处理模型(An advanced unified programming model),运行在任何实现了批和流数据处理任务的执行引擎上(Implement batch and streaming data processing jobs that run on any execution engine)。它是一个开源的、统一的模型,用于定义批处理和流处理数据并行处理的管道,使用一个开源的Beam SDK你可以构建一个定义管道的程序,然后,这个管道由Beam支持的分布式后端去执行,其中包括Apache Apex、Apache Flink、Apache Spark和Google Cloud Dataflow。目前Beam可以支持语言有Java、Python、Go。最新版是2018年10月29号发布的2.8.0版本。

Beam技术的本身就在于大数据处理的编程范式和接口定义,而不在于具体的引擎实现Beam的设计目标就是统一离线批处理和实时流处理的编程范式。它的设计者将数据处理的问题统一抽象为Beam Model,数据处理人员只要将业务需求根据Beam Model的四个维度(即What are you computing、Where in event time、Where in processing time、How do refinements of results relate)开发并调用具体的Beam API,然后选用某种地城的执行引擎,就能实现一套代码,run anywhere的目标(底层引擎必须支持Beam)。

 

二、Beam技术

首先需要了解一下Cloud Dataflow,它是一种原生的谷歌云数据处理服务,是一种构建、管理和优化复杂数据流水线的方法,用于构建移动应用、调试、追踪和监控产品级云应用。它采用了谷歌内部技术Flume和MillWheel,其中Flume用于数据的高效并行化处理,MillWheel则用于互联网级别的处理任务。它提供的数据流管理服务可控数据处理作业的执行,数据处理作业可使用Google Cloud Dataflow SDK创建。

Apache Beam本身不是一个流处理平台,而是一个统一的编程框架,它提供了开源的统一的编程模型,帮助用户床架自己的数据处理流水线,从而可以在任意执行引擎之上运行批处理和流处理任务。Beam对流计算场景中的问题进行了抽象和总结,提炼为Beam Model,而用户只需要结合业务需求,根据Beam Model的四个维度调用具体的API,即可生成分布式数据处理Pipeline,并提交到具体执行引擎上执行,最终这些Beam程序可以运行在任何一个计算平台上,只要相应的平台实现了对Beam的支持。Beam拥有以下三个特点:

  • 统一的(Unified):对批处理和流处理用例使用单一的编程模型;
  • 可移植的(Portable):可以在空中环境中执行Pipelines;
  • 可扩展的(Extensible):编写和共享新的SDK、IO连接和转换库。

 

 

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

Beam技术 的相关文章

随机推荐

  • Vue+Element-ui+SpringBoot搭建后端汽车租赁管理系统

    最近在做项目 花了一周的时间搭建了一个十分完备的汽车租赁后端管理系统 页面采用纯Vue2 Element ui搭建 后端采用Springboot Mybatis搭建 数据库采用Mysql 包括了登录验证 根据不同权限进入不同界面 数据增删改
  • Qt标准对话框

    标准对话框 新建桌面应用程序 项目名testStandardDialogs 类名Dialog 基类QDialog 不勾选创建界面文件 1 文件 颜色 字体 对话框 dialog h ifndef DIALOG H define DIALOG
  • java -version 时出现 could not open D:\java\lib\i386\jvm.cfg是什么意思

    简单分几步 删除之前的jdk 删除注册表中相关项 重新安装 注意安装路径不要改变 跟之前可以用的时候一样 配置环境变量 应该是文件缺失导致的问题 JDK在安装的过程当中将会生成如下3个项目 HKEY LOCAL MACHINE SOFTWA
  • what引导的宾语从句

    what引导宾语从句时在从句中作主语 宾语或表语 表示 所 的 1 表示 的东西或事情 相当于 the thing that all that everything that They ve done what they can to he
  • wifi一键配网smartconfig原理及应用

    https blog csdn net flyingcys article details 49283273 智能家居 家电现阶段还处于普及阶段 由于家庭wifi网络的普及 目前普遍采用wifi与路由器完成连接 与手机 云端进行数据交互 智
  • 数据结构与算法 -- 子序列问题

    一 子序列问题 子数组问题是连续的 而子序列问题是不连续的 比如说字符串 I wanna keep a giraffe in my backyard 的一种子序列就可以是 Igbackd 子序列不再要求答案是一个连续的串 一个字符串的子序列
  • 第58步 深度学习图像识别:Transformer可视化(Pytorch)

    一 写在前面 1 pytorch grad cam库 这一期补上基于基于Transformer框架可视化的教程和代码 使用的是pytorch grad cam库 以Bottleneck Transformer模型为例 2 算法分类 pyto
  • Julia概率分布和统计推理

    贷款审批预测数据示例 贝叶斯理论 P Y X P X P XY P X Y P Y 如果 X 是我们的数据 也称为证据 Y 是我们的模型假设 则 P Y 是我们看到任何证据之前的概率 称为先验概率 在实践中 我们通常假设服从均匀分布或正态分
  • 恢复硬盘U盘数据好帮手-finaldata

    FinalData可以很容易地从格式化后的文件和被病毒破坏的文件恢复 甚至在极端的情况下 如果目录结构被部分破坏也可以恢复 只要数据仍然保存在硬盘上 点击下载finaldata企业版
  • 数字图像处理笔记(十):形态学图像处理

    1 引言 数学形态学的语言是集合论 利用集合论知识我们可以实现图像 腐蚀 膨胀 开操作 笔操作 下面就让我们学习一下这些基于形态学的图像处理 2 腐蚀和膨胀 膨胀与腐蚀能实现多种多样的功能 主要如下 消除噪声 分割 isolate 出独立的
  • linux对一个文件夹中的所有文件重命名

    在Linux中 你可以使用mv命令对一个文件夹下的所有文件进行重命名 下面是几种常见的用法 方法1 批量添加前缀或后缀 cd 目标文件夹路径 for file in do mv file 前缀 file done 添加前缀 for file
  • python绘制风向玫瑰图

    一 风向 流向角度和数学角关系 1 数学角和风向角相互转换 数学角向东为0 按照逆时针旋转 北风为0 即指向南为0 顺时针增加 数学角转风向角 1 根据u v获得数学角 2 根据数学角换算风向 360 360是对360取余 数学角向东为0
  • Python核心编程——第4章 多线程编程 笔记

    Python核心编程 第4章 多线程编程 笔记 引言 通用概念 python相关概念 多线程的实现方式 两大模块 三种替代方案 使用Thread类主要的三种创建线程的方法 相关模块 代码实现部分 python3 最简单的线程 定时等待 使用
  • Kubernetes踩坑(一): 部署问题记录

    一 etcd服务启动后报错etcd cluster ID mismatch 检车service配置cluster选项有无问题 若无问题 则可能是此前的etcd bootstrap加速启动缓存残留导致 坑爹的是rm rf var lib et
  • MyBatis中的reflection包(一)ObjectFactory,PropertyTokenizer, Invoker, Reflector

    内容概要 reflection是MyBatis关于反射的工具包 是实现其它功能的基石之一 这里我不准备贴上源码然而逐行解释 而是从需求分析的角度来复现 ObjectFactory 现在有这样的需求 给你一个Class对象 要求你创建它的实例
  • 嵌入式数据结构(查找)(哈希表)

    嵌入式自学第十二天 1 2 代码实现 list c define CRT SECURE NO WARNINGS include list h include stdlib h include string h include stdio h
  • 2023版ChatGPT 能用来帮助谈恋爱吗,如果用 ChatGPT 来谈恋爱会发生什么?

    大家好啊 有没有和ChatGPT聊过天的 5G高手 们呢 ChatGPT是美国AI公司OpenAI开发出来的一款人工智能聊天机器 会通过学习和理解自然语言来跟我们聊天 不管你想聊啥 从诗歌到哲学 它都可以让你感觉像在跟一个超水平牛逼闪耀的老
  • 静态Web服务器-返回固定页面数据

    学习目标 能够写出组装固定页面数据的响应报文 1 开发自己的静态Web服务器 实现步骤 编写一个TCP服务端程序 获取浏览器发送的http请求报文数据 读取固定页面数据 把页面数据组装成HTTP响应报文数据发送给浏览器 HTTP响应报文数据
  • RISC-V IDE MRS使用笔记(九):使用WCH-LinkW实现无线下载、调试

    RISC V IDE MRS使用笔记 九 使用WCH LinkW实现无线下载 调试 1 硬件环境 WCH LinkW无线仿真调试器2块 CH32V307开发板1块 2 软件环境 MRS V185版本 3 无线仿真调试器配对与连接 通过WCH
  • Beam技术

    一 简介 在大数据处理中 流计算技术包括Storm Spark Streaming和Flink 实际应用中还包括Storm Trident Samura以及Google MillWhell和亚马逊的Kinesis等技术 离线处理基本上都基于