codecamp

Samza 配置

所有 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 中被屏蔽。这是为了防止意外披露; 没有加密。

打包  >>

Samza JobRunner
Samza 打包
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Samza API

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }