zoukankan      html  css  js  c++  java
  • Apache Beam的基本概念

      不多说,直接上干货!

    Apache Beam的基本概念

      在使用Apache Beam构建数据处理程序,首先需要使用Beam SDK中的类创建一个Driver程序,在Driver程序中创建一个满足我们数据处理需求的Pipeline,Pipeline中包括输入(Inputs)、转换(Transformations)、输出(Outputs)三个核心的组件。然后,根据我们选择的Beam SDK来确定底层使用Pipeline Runner(执行引擎,或计算引擎),将我们定义好的Pipeline运行在Pipeline Runner上。

      Apache Beam SDKs提供一组抽象,用来简化大规模分布式数据处理。同一个Beam抽象,能够同时适应批量处理、流处理两种数据源。

    下面,我们了解一下Apache Beam的一些关键抽象:

    • Pipeline

      一个Pipeline是对一个数据处理任务抽象,它包含了我们在对给定数据集处理的全部逻辑,主要包括从数据源读取数据(可能从多个数据源读取)、在给定的数据集上执行Transform操作(中间可能是一个DAG图,通过多个Transform连接,而Transform的输出和输出都可能是一个数据集)、将Transform的数据结果写入到指定对的存储系统中。

    • PCollection

      一个PCollection是对分布式数据集的抽象,他可以是输入数据集、中间结果数据集、输出数据集。每一个由PCollection表征的数据集作为输入时,都会存在一个或多个Transform作用在其上(对数据集进行处理的逻辑)。

    • Transform

      一个Transform表示数据处理过程中一个步骤(Step),对应于Pipeline中一个操作,每一个Transform会以一个或多个PCollection作为输入,经过处理后输出一个或多个PCollection。

    • Source and Sink

      Apache Beam提供了Source和Sink的API,用来表示读取和写入数据。Source表示从一个外部的数据源读入数据到Pipeline,而Sink表示经过Pipeline处理后将数据写入到外部存储系统。

    • PipelineRunner

      PipelineRunner是实际用来处理Pipeline逻辑的底层组件,它能够将用户构建的Pipeline翻译成底层计算引擎能够处理的Job,并执行Pipeline的处理逻辑。

  • 相关阅读:
    2018.10.29-dtoj-3999-游戏(game)
    2018.10.27-dtoj-3996-Lesson5!(johnny)
    2018.10.25-dtoj-2903-蛋糕(cake)
    2018.10.25-dtoj-1113-Hy拯救公主 princess
    2018.10.25-dtoj-3989-五子棋(fir)
    2018.10.25-dtoj-1588-Intelligence test(test)
    2018.10.24-dtij-2636-262144(game)
    2018.10.23-dtoi-2004:象棋Chess(Chess)
    中国PostgreSQL认证考试,证书类别、考试科目、及格分数、报名方式
    PostgreSQL技术分享公开课:备份恢复与Point-in-Time Recovery(PITR)
  • 原文地址:https://www.cnblogs.com/zlslch/p/7609615.html
Copyright © 2011-2022 走看看