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 StringdestinationOperationNameprotected com.illumon.iris.importers.merge.GroupingColumn[]groupingColumnsprotected DataIndexerindexerprotected TableinputSubTableprotected longinputSubTableSizeprotected StringinternalPartitionNameprotected StringlogPrefixprotected static StringMERGE_TEMP_PREFIXprotected Table[]orderedSubTablesprotected List<com.illumon.iris.importers.merge.OrderingPair>orderingPairsprotected FilepermanentDirectoryprotected FiletemporaryDirectory -
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.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 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)StringgetDestinationOperationName()For internal Deephaven use only.StringgetInternalPartitionName()For internal Deephaven use only.StringgetLogPrefix()For internal Deephaven use only.FilegetPermanentDirectory()For internal Deephaven use only.FilegetTemporaryDirectory()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.booleanpermanentDirectoryExists()For internal Deephaven use only.voidsetInputSubTable(Table inputSubTable)For internal Deephaven use only.StringtoString()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:
- 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:
appendin interfacecom.fishlib.base.log.LogOutputAppendable
-