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
配置文件有四个主要部分:
- 作业部分定义了作业的名称,以及是否使用 YarnJobFactory 或 ProcessJobFactory / ThreadJobFactory(请参阅配置表中的 job.factory.class 属性)。
- 任务部分是您为 StreamTask 指定类名的 位置。它也是您定义 输入流为您的任务的位置。
- 序列化器部分定义用于串行化和反序列化特定对象的 serdes 的类,这些对象是沿着不同的流接收和发送的。
- 系统部分定义您的 StreamTask 可以读取的系统以及用于从该系统发送密钥和消息的 serdes 的类型。通常,如果您正在阅读 Kafka ,您将定义一个 Kafka 系统,尽管您还可以指定自己的自主实现的 Samza 兼容系统。请参阅 hello-samza示例项目 的维基百科系统,以获得自我实施的系统的良好示例。
Samza 工作必需的配置键
为 Samza 工作绝对必须定义的配置键是:
- job.factory.class
- job.name
- task.class
- task.inputs
配置键
配置表 页面上可以找到完整的配置列表。请注意,以“敏感”为前缀的配置键被特别处理,因为与这些键相关联的值将在日志和 Samza 的 YARN ApplicationMaster UI 中被屏蔽。这是为了防止意外披露; 没有加密。
以上内容是否对您有帮助:
更多建议: