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 Details

    • MERGE_TEMP_PREFIX

      protected static final String MERGE_TEMP_PREFIX
      See Also:
    • internalPartitionName

      protected final String internalPartitionName
    • permanentDirectory

      protected final File permanentDirectory
    • temporaryDirectory

      protected final File temporaryDirectory
    • destinationOperationName

      protected final String destinationOperationName
    • logPrefix

      protected final String logPrefix
    • inputSubTable

      protected Table inputSubTable
    • inputSubTableSize

      protected long inputSubTableSize
    • orderingPairs

      protected List<com.illumon.iris.importers.merge.OrderingPair> orderingPairs
    • groupingColumns

      protected com.illumon.iris.importers.merge.GroupingColumn[] groupingColumns
    • hadGroupings

      protected boolean hadGroupings
    • orderedSubTables

      protected Table[] orderedSubTables
    • indexer

      protected DataIndexer 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

      public abstract void computeSortedOrder(@NotNull com.fishlib.io.logger.Logger log, @Nullable String sortColumnFormula, @Nullable com.illumon.dataobjects.ColumnDefinition<?> sortColumnDefinition, @Nullable List<String[]> indexDataSets)
    • 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

      public abstract void writeDataIndex(String[] keyColumns, Table computedDataIndex)
    • permanentDirectoryExists

      public boolean permanentDirectoryExists()
      For internal Deephaven use only.
    • getTemporaryDirectory

      public File getTemporaryDirectory()
      For internal Deephaven use only.
    • cleanup

      public void cleanup()
      For internal Deephaven use only.
    • setInputSubTable

      public void setInputSubTable(@NotNull Table inputSubTable)
      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

      public String getDestinationOperationName()
      For internal Deephaven use only.
    • getInternalPartitionName

      public String getInternalPartitionName()
      For internal Deephaven use only.
    • getLogPrefix

      public String getLogPrefix()
      For internal Deephaven use only.
    • getPermanentDirectory

      public File getPermanentDirectory()
      For internal Deephaven use only.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • append

      public com.fishlib.base.log.LogOutput append(com.fishlib.base.log.LogOutput logOutput)
      Specified by:
      append in interface com.fishlib.base.log.LogOutputAppendable