Package com.illumon.iris.importers.merge
Class MergeDestination
java.lang.Object
com.illumon.iris.importers.merge.MergeDestination
- All Implemented Interfaces:
com.fishlib.base.log.LogOutputAppendable
- Direct Known Subclasses:
DeephavenFormatMergeDestination
,ParquetFormatMergeDestination
public abstract class MergeDestination extends Object implements com.fishlib.base.log.LogOutputAppendable
Represents an output location for the merge operation.
-
Field Summary
Fields Modifier and Type Field Description protected String
destinationOperationName
protected com.illumon.iris.importers.merge.GroupingColumn[]
groupingColumns
protected DataIndexer
indexer
protected Table
inputSubTable
protected long
inputSubTableSize
protected String
internalPartitionName
protected String
logPrefix
protected static String
MERGE_TEMP_PREFIX
protected Table[]
orderedSubTables
protected List<com.illumon.iris.importers.merge.OrderingPair>
orderingPairs
protected File
permanentDirectory
protected File
temporaryDirectory
-
Constructor Summary
Constructors Constructor Description MergeDestination(File writableInternalPartition, String partitioningColumnValue, String tableName, String operationName)
For internal Deephaven use only. -
Method Summary
Modifier and Type Method Description com.fishlib.base.log.LogOutput
append(com.fishlib.base.log.LogOutput logOutput)
void
cleanup()
For internal Deephaven use only.void
computeDataIndexes(com.fishlib.io.logger.Logger log)
For internal Deephaven use only.void
computeGroupOrder(com.fishlib.io.logger.Logger log, String[] groupingColumnNames)
For internal Deephaven use only.protected void
computeSortedOrder(com.fishlib.io.logger.Logger log, String sortColumnFormula, com.illumon.dataobjects.ColumnDefinition<?> sortColumnDefinition, DataCopierFactory subTableConsumer, DataIndexer dataIndexer)
abstract void
computeSortedOrder(com.fishlib.io.logger.Logger log, String sortColumnFormula, com.illumon.dataobjects.ColumnDefinition<?> sortColumnDefinition, List<String[]> indexDataSets)
abstract void
finish(com.fishlib.io.logger.Logger log)
String
getDestinationOperationName()
For internal Deephaven use only.String
getInternalPartitionName()
For internal Deephaven use only.String
getLogPrefix()
For internal Deephaven use only.File
getPermanentDirectory()
For internal Deephaven use only.File
getTemporaryDirectory()
For internal Deephaven use only.void
groupInputSubTable(com.fishlib.io.logger.Logger log, String[] groupingColumnNames)
For internal Deephaven use only.abstract void
initialize(com.fishlib.io.logger.Logger log, TableDefinition writableDefinition, SyncOperator syncOperator)
void
install()
For internal Deephaven use only.boolean
permanentDirectoryExists()
For internal Deephaven use only.void
setInputSubTable(Table inputSubTable)
For internal Deephaven use only.String
toString()
abstract void
writeDataIndex(String[] keyColumns, Table computedDataIndex)
abstract void
writeGrouping(com.fishlib.io.logger.Logger log, com.fishlib.util.process.FatalErrorReporter fatalErrorReporter, TableDefinition tableDefinition)
abstract void
writeMergedDataLowHeap(com.fishlib.io.logger.Logger log, com.fishlib.util.process.FatalErrorReporter fatalErrorReporter, ExecutorService executorService, Table inputData, String[] writableColumnNames, StatusCallback destinationCallback, TableDefinition tableDefinition)
-
Field Details
-
MERGE_TEMP_PREFIX
- See Also:
- Constant Field Values
-
internalPartitionName
-
permanentDirectory
-
temporaryDirectory
-
destinationOperationName
-
logPrefix
-
inputSubTable
-
inputSubTableSize
protected long inputSubTableSize -
orderingPairs
-
groupingColumns
protected com.illumon.iris.importers.merge.GroupingColumn[] groupingColumns -
orderedSubTables
-
indexer
-
-
Constructor Details
-
MergeDestination
public MergeDestination(@NotNull File writableInternalPartition, @NotNull String partitioningColumnValue, @NotNull String tableName, @NotNull String operationName)For internal Deephaven use only.
-
-
Method Details
-
initialize
public abstract void initialize(@NotNull com.fishlib.io.logger.Logger log, @NotNull TableDefinition writableDefinition, @Nullable SyncOperator syncOperator) -
writeGrouping
public abstract void writeGrouping(@NotNull com.fishlib.io.logger.Logger log, @NotNull com.fishlib.util.process.FatalErrorReporter fatalErrorReporter, @NotNull TableDefinition tableDefinition) -
computeSortedOrder
-
writeMergedDataLowHeap
public abstract void writeMergedDataLowHeap(com.fishlib.io.logger.Logger log, com.fishlib.util.process.FatalErrorReporter fatalErrorReporter, ExecutorService executorService, Table inputData, String[] writableColumnNames, StatusCallback destinationCallback, TableDefinition tableDefinition) -
finish
public abstract void finish(com.fishlib.io.logger.Logger log) -
writeDataIndex
-
permanentDirectoryExists
public boolean permanentDirectoryExists()For internal Deephaven use only. -
getTemporaryDirectory
For internal Deephaven use only. -
cleanup
public void cleanup()For internal Deephaven use only. -
setInputSubTable
For internal Deephaven use only. -
groupInputSubTable
public void groupInputSubTable(@NotNull com.fishlib.io.logger.Logger log, @NotNull String[] groupingColumnNames)For internal Deephaven use only. -
computeGroupOrder
public void computeGroupOrder(@NotNull com.fishlib.io.logger.Logger log, @NotNull String[] groupingColumnNames)For internal Deephaven use only. -
computeSortedOrder
protected final void computeSortedOrder(@NotNull com.fishlib.io.logger.Logger log, @Nullable String sortColumnFormula, @Nullable com.illumon.dataobjects.ColumnDefinition<?> sortColumnDefinition, @NotNull DataCopierFactory subTableConsumer, @Nullable DataIndexer dataIndexer) -
computeDataIndexes
public void computeDataIndexes(com.fishlib.io.logger.Logger log)For internal Deephaven use only. -
install
public void install()For internal Deephaven use only. -
getDestinationOperationName
For internal Deephaven use only. -
getInternalPartitionName
For internal Deephaven use only. -
getLogPrefix
For internal Deephaven use only. -
getPermanentDirectory
For internal Deephaven use only. -
toString
-
append
public com.fishlib.base.log.LogOutput append(com.fishlib.base.log.LogOutput logOutput)- Specified by:
append
in interfacecom.fishlib.base.log.LogOutputAppendable
-