Apache Samza 是一个分布式流处理框架,用于构建能够实时处理数据的有状态应用。它可以从多个数据源接收数据,其中包括 Apache Kafka,并提供从底层 API 到 Streams DSL、Samza SQL 和 Apache BEAM API 的多种开发方式。与只面向单一运行环境的流处理工具相比,Samza强调灵活部署:同一套框架可以运行在 YARN、Kubernetes 或 standalone 模式下,也可以作为独立库使用;在处理模型上,还支持使用相同代码处理批处理数据和流式数据。\n\n### 核心功能\n\n#### 有状态实时处理\nSamza用于构建有状态应用,并从多个来源实时处理数据。状态可以扩展到数 TB,官网列出了增量检查点和 host-affinity 等能力,用于支持横向扩展场景。\n\n#### 多种开发 API\n开发者可以根据应用需求选择 low-level API、Streams DSL、Samza SQL 或 Apache BEAM API。官网将这些接口作为构建应用的主要方式,既覆盖较底层的开发方式,也提供面向流处理表达的 DSL 与 SQL 接口。\n\n#### 高吞吐与低延迟处理\nSamza针对实时数据分析提供极低延迟和高吞吐能力,使数据能够被即时分析。官网将这一能力列为产品特性,并提供了关于 Apache Samza 性能基准的资料链接。\n\n#### 横向扩展状态数据\nSamza支持将状态扩展到 several terabytes 的规模。增量检查点和 host-affinity 是官网明确列出的扩展相关能力,适用于需要管理大规模处理状态的应用。\n\n#### 灵活部署\nSamza可以部署在 YARN、Kubernetes 上,也可以作为 standalone library 运行。官网同时提供了 YARN 和 standalone 部署文档,因此使用者可以根据运行环境选择部署模式。\n\n#### 可插拔数据连接\nSamza能够连接多种数据源和存储系统,包括 Kafka、HDFS、AWS Kinesis、Azure Event Hubs、K-V stores 和 Elasticsearch。通过这些连接器,应用可以从不同系统接入或处理数据,而不局限于单一消息来源。\n\n#### 批处理与流处理共用代码\n官网介绍了“Write once, Run Anywhere”能力,即使用同一份代码处理批处理数据和流式数据。该能力让应用可以在两种数据处理模式之间复用处理逻辑。\n\n### 使用方式\n\n官网提供 Quick Start、文档和视频教程作为入门材料。应用可以使用 low-level API、Streams DSL、Samza SQL 或 Apache BEAM API 开发,然后选择 YARN、Kubernetes 或 standalone library 方式运行。数据连接方面支持 Kafka、HDFS、AWS Kinesis、Azure Event Hubs、K-V stores 和 Elasticsearch。正文没有说明是否需要注册账号、自备模型 Key,或提供独立的 Web 端操作界面。\n\n### 适用人群与场景\n\n需要从 Apache Kafka 等多个来源实时处理数据的开发者,可以使用 Samza 构建有状态实时应用。需要管理数 TB 状态数据并进行横向扩展的工程团队,可以使用增量检查点和 host-affinity。需要在 YARN、Kubernetes 或独立库环境中部署流处理程序的团队,可以根据基础设施选择运行模式。还需要同时处理批数据和流数据的开发者,可以使用同一份代码覆盖两类处理场景。\n\n### 注意事项\n\nSamza的部署与开发方式较为灵活,但官网正文将其定位为框架,并主要通过 Quick Start、API 文档、部署文档和连接器文档使用。正文没有提供价格、免费额度或商业版档位信息;也没有说明注册要求、模型 Key 要求或数据处理限制。
Apache Samza
面向实时数据的分布式流处理框架
Apache Samza 是分布式流处理框架,可从包括 Apache Kafka 在内的多个数据源实时处理数据,构建有状态应用,并支持 YARN、Kubernetes 或独立库等部署方式。
自托管API
项目详情
有状态实时处理从包括 Apache Kafka 在内的多个数据源实时处理数据,支持构建有状态应用。
横向扩展支持将状态扩展到数 TB,并提供增量检查点和 host-affinity。
多种开发 API提供 low-level API、Streams DSL、Samza SQL 和 Apache BEAM API。
灵活部署支持运行在 YARN、Kubernetes 或 standalone library 环境中。
可插拔架构可连接 Kafka、HDFS、AWS Kinesis、Azure Event Hubs、K-V stores 和 Elasticsearch。
批流统一处理支持使用同一份代码处理批处理数据和流式数据。
用户评论 (0)
还没有用户评论
成为第一个分享使用体验的人