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 String
protected com.illumon.iris.importers.merge.GroupingColumn[]
protected boolean
protected DataIndexer
protected Table
protected long
protected final String
protected final String
protected static final String
protected Table[]
protected List<com.illumon.iris.importers.merge.OrderingPair>
protected final File
protected 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.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 final 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) 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.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
For internal Deephaven use only.void
setInputSubTable
(Table inputSubTable) For internal Deephaven use only.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:
-
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:
append
in interfacecom.fishlib.base.log.LogOutputAppendable
-