K - type of the key in the cacheV - type of the value in the cachepublic class CachingTableDescriptor<K,V> extends HybridTableDescriptor<K,V,CachingTableDescriptor<K,V>>
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CACHE_SIZE |
static java.lang.String |
CACHE_TABLE_ID |
static java.lang.String |
PROVIDER_FACTORY_CLASS_NAME |
static java.lang.String |
READ_TTL_MS |
static java.lang.String |
REAL_TABLE_ID |
static java.lang.String |
WRITE_AROUND |
static java.lang.String |
WRITE_TTL_MS |
config, tableId| Constructor and Description |
|---|
CachingTableDescriptor(java.lang.String tableId,
TableDescriptor<K,V,?> table)
Constructs a table descriptor instance with internal cache
|
CachingTableDescriptor(java.lang.String tableId,
TableDescriptor<K,V,?> table,
TableDescriptor<K,V,?> cache)
Constructs a table descriptor instance and specify a cache (as Table descriptor)
to be used for caching.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getProviderFactoryClassName()
Return the fully qualified class name of the
TableProviderFactory |
java.util.List<? extends TableDescriptor<K,V,?>> |
getTableDescriptors()
Retrieve user-defined table descriptors contained in this table
|
java.util.Map<java.lang.String,java.lang.String> |
toConfig(Config jobConfig)
Generate configuration for this table descriptor, the generated configuration
should be the complete configuration for this table that can be directly
included in the job configuration.
|
protected void |
validate()
Validate that this table descriptor is constructed properly; this method is used internally.
|
CachingTableDescriptor<K,V> |
withCacheSize(long cacheSize)
Specify the max cache size for size-based eviction.
|
CachingTableDescriptor<K,V> |
withReadTtl(java.time.Duration readTtl)
Specify the TTL for each read access, ie.
|
CachingTableDescriptor<K,V> |
withWriteAround()
Specify if write-around policy should be used to bypass writing
to cache for put operations.
|
CachingTableDescriptor<K,V> |
withWriteTtl(java.time.Duration writeTtl)
Specify the TTL for each write access, ie.
|
addTableConfig, getTableId, withConfigpublic static final java.lang.String PROVIDER_FACTORY_CLASS_NAME
public static final java.lang.String REAL_TABLE_ID
public static final java.lang.String CACHE_TABLE_ID
public static final java.lang.String READ_TTL_MS
public static final java.lang.String WRITE_TTL_MS
public static final java.lang.String CACHE_SIZE
public static final java.lang.String WRITE_AROUND
public CachingTableDescriptor(java.lang.String tableId,
TableDescriptor<K,V,?> table)
tableId - Id of the table, it must conform to pattern { @literal [\\d\\w-_]+ }table - target table descriptorpublic CachingTableDescriptor(java.lang.String tableId,
TableDescriptor<K,V,?> table,
TableDescriptor<K,V,?> cache)
tableId - Id of the table, it must conform to pattern { @literal [\\d\\w-_]+ }table - target table descriptorcache - cache table descriptorpublic java.util.List<? extends TableDescriptor<K,V,?>> getTableDescriptors()
getTableDescriptors in class HybridTableDescriptor<K,V,CachingTableDescriptor<K,V>>public CachingTableDescriptor<K,V> withReadTtl(java.time.Duration readTtl)
readTtl - read TTLpublic CachingTableDescriptor<K,V> withWriteTtl(java.time.Duration writeTtl)
writeTtl - write TTLpublic CachingTableDescriptor<K,V> withCacheSize(long cacheSize)
cacheSize - max size of the cachepublic CachingTableDescriptor<K,V> withWriteAround()
public java.lang.String getProviderFactoryClassName()
BaseTableDescriptorTableProviderFactorygetProviderFactoryClassName in class BaseTableDescriptor<K,V,CachingTableDescriptor<K,V>>TableProviderFactorypublic java.util.Map<java.lang.String,java.lang.String> toConfig(Config jobConfig)
TableDescriptorjobConfig.toConfig in interface TableDescriptor<K,V,CachingTableDescriptor<K,V>>toConfig in class BaseTableDescriptor<K,V,CachingTableDescriptor<K,V>>jobConfig - job configurationprotected void validate()
BaseTableDescriptorvalidate in class BaseTableDescriptor<K,V,CachingTableDescriptor<K,V>>