K
- the type of the key in this tableV
- the type of the value in this tableD
- the type of the concrete table descriptor@InterfaceStability.Unstable public interface TableDescriptor<K,V,D extends TableDescriptor<K,V,D>>
TableDescriptor
can be used for specifying Samza and implementation-specific properties of a Table
.
Table properties provided in configuration override corresponding properties specified using a descriptor.
This is the base descriptor for a table. Use a implementation-specific descriptor (e.g. RocksDBTableDescriptor) to use it in the application. For example:
RocksDbTableDescriptor tableDescriptor = new RocksDbTableDescriptor("table",
KVSerde.of(new IntegerSerde(), new StringSerde("UTF-8")))
.withBlockSize(1024)
.withConfig("some-key", "some-value");
For High Level API StreamApplication
s, use StreamApplicationDescriptor.getTable(TableDescriptor)
to
obtain the corresponding Table
instance that can be used with the MessageStream
operators like
MessageStream.sendTo(Table)
. Alternatively, use TaskContext.getTable(String)
in
InitableFunction.init(org.apache.samza.context.Context)
to get the table instance for use within operator functions. For Low Level API
TaskApplication
s, use TaskContext.getTable(String)
in InitableTask.init(org.apache.samza.context.Context)
to get the
table instance for use within the Task.Modifier and Type | Method and Description |
---|---|
java.lang.String |
getTableId()
Get the id of the table
|
D |
withConfig(java.lang.String key,
java.lang.String value)
Add a configuration entry for the table
|
java.lang.String getTableId()
D withConfig(java.lang.String key, java.lang.String value)
key
- the keyvalue
- the value