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
FieldsModifier and TypeFieldDescriptionprotected final Stringprotected com.illumon.iris.importers.merge.GroupingColumn[]protected booleanprotected DataIndexerprotected Tableprotected longprotected final Stringprotected final Stringprotected static final Stringprotected Table[]protected List<com.illumon.iris.importers.merge.OrderingPair>protected final Fileprotected final File -
Constructor Summary
ConstructorsConstructorDescriptionMergeDestination(File writableInternalPartition, String partitioningColumnValue, String tableName, String operationName) For internal Deephaven use only. -
Method Summary
Modifier and TypeMethodDescriptioncom.fishlib.base.log.LogOutputappend(com.fishlib.base.log.LogOutput logOutput) voidcleanup()For internal Deephaven use only.voidcomputeDataIndexes(com.fishlib.io.logger.Logger log) For internal Deephaven use only.voidcomputeGroupOrder(com.fishlib.io.logger.Logger log, String[] groupingColumnNames) For internal Deephaven use only.protected final voidcomputeSortedOrder(com.fishlib.io.logger.Logger log, String sortColumnFormula, com.illumon.dataobjects.ColumnDefinition<?> sortColumnDefinition, DataCopierFactory subTableConsumer, DataIndexer dataIndexer) abstract voidcomputeSortedOrder(com.fishlib.io.logger.Logger log, String sortColumnFormula, com.illumon.dataobjects.ColumnDefinition<?> sortColumnDefinition, List<String[]> indexDataSets) abstract voidfinish(com.fishlib.io.logger.Logger log) For internal Deephaven use only.For internal Deephaven use only.For internal Deephaven use only.For internal Deephaven use only.For internal Deephaven use only.voidgroupInputSubTable(com.fishlib.io.logger.Logger log, String[] groupingColumnNames) For internal Deephaven use only.abstract voidinitialize(com.fishlib.io.logger.Logger log, TableDefinition writableDefinition, SyncOperator syncOperator) voidinstall()For internal Deephaven use only.booleanFor internal Deephaven use only.voidsetInputSubTable(Table inputSubTable) For internal Deephaven use only.toString()abstract voidwriteDataIndex(String[] keyColumns, Table computedDataIndex) abstract voidwriteGrouping(com.fishlib.io.logger.Logger log, com.fishlib.util.process.FatalErrorReporter fatalErrorReporter, TableDefinition tableDefinition) abstract voidwriteMergedDataLowHeap(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:
-
internalPartitionName
-
permanentDirectory
-
temporaryDirectory
-
destinationOperationName
-
logPrefix
-
inputSubTable
-
inputSubTableSize
protected long inputSubTableSize -
orderingPairs
-
groupingColumns
protected com.illumon.iris.importers.merge.GroupingColumn[] groupingColumns -
hadGroupings
protected boolean hadGroupings -
orderedSubTables
-
indexer
-
-
Constructor Details
-
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:
appendin interfacecom.fishlib.base.log.LogOutputAppendable
-