All Samza applications have a properties format file that defines its configurations. A complete list of configuration keys can be found on the Samza Configurations Table page.
A very basic configuration file looks like this:
{% highlight jproperties %}
job.factory.class=org.apache.samza.job.local.YarnJobFactory app.name=hello-world job.default.system=example-system serializers.registry.json.class=org.apache.samza.serializers.JsonSerdeFactory serializers.registry.string.class=org.apache.samza.serializers.StringSerdeFactory
systems.example-system.samza.factory=samza.stream.example.ExampleConsumerFactory systems.example-system.samza.key.serde=string systems.example-system.samza.msg.serde=json
task.checkpoint.factory=org.apache.samza.checkpoint.kafka.KafkaCheckpointManagerFactory
stores.example-store.factory=org.apache.samza.storage.kv.RocksDbKeyValueStorageEngineFactory stores.example-store.key.serde=string stores.example-store.value.serde=json
metrics.reporter.example-reporter.class=org.apache.samza.metrics.reporter.JmxReporterFactory metrics.reporters=example-reporter {% endhighlight %}
There are 6 sections sections to a configuration file:
Note that configuration keys prefixed with sensitive.
are treated specially, in that the values associated with such keys will be masked in logs and Samza's YARN ApplicationMaster UI. This is to prevent accidental disclosure only; no encryption is done.