Samza 配置

2018-08-22 17:59 更新

所有 Samza 作业都有一个定义作业的配置文件。一个非常基本的配置文件如下所示:

# Job
job.factory.class=org.apache.samza.job.local.ThreadJobFactory
job.name=hello-world

# Task
task.class=samza.task.example.MyJavaStreamerTask
task.inputs=example-system.example-stream

# Serializers
serializers.registry.json.class=org.apache.samza.serializers.JsonSerdeFactory
serializers.registry.string.class=org.apache.samza.serializers.StringSerdeFactory

# Systems
systems.example-system.samza.factory=samza.stream.example.ExampleConsumerFactory
systems.example-system.samza.key.serde=string
systems.example-system.samza.msg.serde=json

配置文件有四个主要部分:

  1. 作业部分定义了作业的名称,以及是否使用 YarnJobFactory 或 ProcessJobFactory / ThreadJobFactory(请参阅配置表中的 job.factory.class 属性)。
  2. 任务部分是您为 StreamTask 指定类名的 位置。它也是您定义 输入流为您的任务的位置。
  3. 序列化器部分定义用于串行化和反序列化特定对象的 serdes 的类,这些对象是沿着不同的流接收和发送的。
  4. 系统部分定义您的 StreamTask 可以读取的系统以及用于从该系统发送密钥和消息的 serdes 的类型。通常,如果您正在阅读 Kafka ,您将定义一个 Kafka 系统,尽管您还可以指定自己的自主实现的 Samza 兼容系统。请参阅 hello-samza示例项目 的维基百科系统,以获得自我实施的系统的良好示例。

Samza 工作必需的配置键

为 Samza 工作绝对必须定义的配置键是:

  • job.factory.class
  • job.name
  • task.class
  • task.inputs

配置键

配置表 页面上可以找到完整的配置列表。请注意,以“敏感”为前缀的配置键被特别处理,因为与这些键相关联的值将在日志和 Samza 的 YARN ApplicationMaster UI 中被屏蔽。这是为了防止意外披露; 没有加密。

打包  >>

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号