使用 Java 的 Apache Beam 简介

Apache Beam 是一个强大的批处理和流处理开源项目。它的可移植性允许在从 Apache Spark 到 Google Cloud Dataflow 的不同后端上运行管道,Beam 是可扩展的,这意味着您可以编写和共享新的 SDK、IO 连接器和转换器,Beam 目前支持 Python、Java 和 Go,通过使用其 Java SDK,您可以利用 JVM 的所有优势。

Apache Beam 是一种用于处理数据、支持批处理和流式处理的编程模型。

使用为 Java、Python 和 Go 提供的 SDK,您可以开发管道,然后选择将运行管道的后端。

优势包括:

  • 内置 I/O 连接器
    • Apache Beam 连接器允许从多种类型的存储中轻松提取和加载数据
    • 主要的连接器类型有:
      • 基于文件(例如:Apache Parquet、Apache Thrift)
      • 文件系统(例如:Hadoop、Google Cloud Storage、Amazon S3)
      • 消息传递(例如:Apache Kafka、Google Pub/Sub、Amazon SQS)
      • 数据库(例如:Apache Cassandra、Elastic Search、MongoDb)
    • 作为一个 OSS 项目,对新连接器的支持正在增长(例如:InfluxDB、Neo4J)
  • 可移植性:
    • Beam 提供了多个运行器来运行管道,让您为每个用例选择最好的并避免供应商锁定。
    • Apache Flink、Apache Spark 或 Google Cloud Dataflow 等分布式处理后端可用作运行器。
  • 分布式并行处理:
    • 默认情况下,数据集上的每个项目都是独立处理的,因此可以通过并行运行来优化其处理。
    • 开发人员不需要在工作人员之间手动分配负载,因为 Beam 为其提供了抽象。
使用 Java 的 Apache Beam 简介

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注