Package com.illumon.iris.importers.util
Interface MergeParameters
@Immutable
public interface MergeParameters
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA Builder for constructing aMergeParameters -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptiondefault booleanGet if empty input tables are allowed.static MergeParameters.Builderbuilder()Construct an empty builder.static MergeParameters.BuilderConstruct a builder, pre-populating the logger, database namespace and table name properties.static MergeParameters.BuilderConstruct a builder, pre-populating the database namespace and table name properties.default voidcheck()default StringGet the compression codec name to use whenstorageFormat()isDatabase.StorageFormat.Parquet.default Databasedb()Get the database to fetch tables from.default StringCompute the effective partition for the merge based upon thepartitionColumnFormula()andpartitionColumnValue().default booleanforce()Get if merge should overwrite existing data.default booleanGet if late cleanup is used.default com.fishlib.io.logger.Loggerlogger()Get the logger to use.default booleanGet if low heap usage mode should be used.default intThe maximum number of columns that may be concurrently processed when in maximum throughput mode.Get the namespace to merge data into.default StringThe formula to determine column partition.default StringGet the partitioning column value to use.default StringGet the sorting column formula.Get the sourceTablefor the merge.default Database.StorageFormatGet theDatabase.StorageFormatto merge into.default SyncModesyncMode()Get theSyncModeto use.Get the Table to merge intodefault StringtdsName()Get the name of the Table data service to use.default intGet the number of threads to use for merge.
-
Field Details
-
FORMAT_DEEPHAVEN
- See Also:
-
FORMAT_PARQUET
- See Also:
-
SORT_COLUMN_ARG_KEY
- See Also:
-
LOW_HEAP_USAGE_MODE_ARG_KEY
- See Also:
-
FORCE_ARG_KEY
- See Also:
-
ALLOW_EMPTY_INPUT_ARG_KEY
- See Also:
-
SYNC_MODE_ARG_KEY
- See Also:
-
MERGE_FORMAT_ARG_KEY
- See Also:
-
PARQUET_CODEC_ARG_KEY
- See Also:
-
DEFAULT_SYNC_MODE
-
-
Method Details
-
builder
Construct an empty builder.- Returns:
- a new empty
MergeParameters.Builder
-
builder
static MergeParameters.Builder builder(@NotNull Database db, @NotNull String namespace, @NotNull String tableName) Construct a builder, pre-populating the database namespace and table name properties.- Parameters:
db- the databasenamespace- the namespace to merge totableName- the table name to merge to- Returns:
- a
MergeParameters.Builderpopulated with the specified parameters/
-
builder
static MergeParameters.Builder builder(@NotNull com.fishlib.io.logger.Logger log, @NotNull Database db, @NotNull String namespace, @NotNull String tableName) Construct a builder, pre-populating the logger, database namespace and table name properties.- Parameters:
log- the loggerdb- the databasenamespace- the namespace to merge totableName- the table name to merge to- Returns:
- a
MergeParameters.Builderpopulated with the specified parameters/
-
logger
@Default @Nullable default com.fishlib.io.logger.Logger logger()Get the logger to use.- Returns:
- the logger
-
db
Get the database to fetch tables from.- Returns:
- the database
-
tdsName
Get the name of the Table data service to use.- Returns:
- the table data service name
-
namespace
String namespace()Get the namespace to merge data into.- Returns:
- the namespace
-
tableName
String tableName()Get the Table to merge into- Returns:
- the table name to merge into
-
partitionColumnValue
Get the partitioning column value to use. If apartitionColumnFormula()was set instead of a value that formula is evaluated and captured wheneffectivePartition()is called.- Returns:
- the column partition value to use
-
partitionColumnFormula
The formula to determine column partition.- Returns:
- the partitioning column formula.
-
effectivePartition
Compute the effective partition for the merge based upon thepartitionColumnFormula()andpartitionColumnValue().- Returns:
- the effective partition
-
threadPoolSize
@Default default int threadPoolSize()Get the number of threads to use for merge. Defaults to the value of the property `MergeParameters.defaultThreadPoolSize`, which defaults to 1- Returns:
- the number of threads to use
-
maximumConcurrentColumns
@Default default int maximumConcurrentColumns()The maximum number of columns that may be concurrently processed when in maximum throughput mode. In this mode, no matter how many threads are available write jobs will not be enqueued until less than this number of distinct columns are being written. Defaults to unlimited.- Returns:
- the maximum number of columns that may be written concurrently.
-
lowHeapUsage
@Default default boolean lowHeapUsage()Get if low heap usage mode should be used. Defaults tofalse.- Returns:
- true if low heap usage mode is enabled
-
force
@Default default boolean force()Get if merge should overwrite existing data. Defaults tofalse.- Returns:
- true if merge should overwrite existing data
-
lateCleanup
@Default default boolean lateCleanup()Get if late cleanup is used. Defaults to false.- Returns:
- if late cleanup is used
-
allowEmptyInput
@Default default boolean allowEmptyInput()Get if empty input tables are allowed. Defaults totrue.- Returns:
- if empty input tables are allowed
-
sortColumnFormula
Get the sorting column formula. Defaults tonull.- Returns:
- the sorting column formula
-
storageFormat
Get theDatabase.StorageFormatto merge into.- Returns:
- the storage format (or null for system default)
-
codecName
Get the compression codec name to use whenstorageFormat()isDatabase.StorageFormat.Parquet.- Returns:
- the compression codec or
nullfor uncompressed/
-
syncMode
Get theSyncModeto use.- Returns:
- the
SyncMode
-
sourceTable
Get the sourceTablefor the merge.- Returns:
- the source table.
-
check
-