Class ParquetKeyValuePartitionedLayout

All Implemented Interfaces:
TableLocationKeyFinder<ParquetTableLocationKey>

public class ParquetKeyValuePartitionedLayout extends URIStreamKeyValuePartitionLayout<ParquetTableLocationKey> implements TableLocationKeyFinder<ParquetTableLocationKey>
KeyValuePartitionLayout for Parquet data.
ImplNote:
  • Method Details

    • create

      public static ParquetKeyValuePartitionedLayout create(@NotNull @NotNull URI tableRootDirectory, @NotNull @NotNull TableDefinition tableDefinition, @NotNull @NotNull ParquetInstructions readInstructions, @Nullable @Nullable SeekableChannelsProvider channelsProvider)
      Create a new ParquetKeyValuePartitionedLayout for the given tableRootDirectory and tableDefinition.
      Parameters:
      tableRootDirectory - The root directory for the table.
      tableDefinition - The table definition to use for the layout.
      readInstructions - The instructions for customizations while reading.
      channelsProvider - The provider for seekable channels. If null, a new provider will be created and used for all location keys.
    • create

      public static ParquetKeyValuePartitionedLayout create(@NotNull @NotNull URI tableRootDirectory, int maxPartitioningLevels, @NotNull @NotNull ParquetInstructions readInstructions, @Nullable @Nullable SeekableChannelsProvider channelsProvider)
      Create a new ParquetKeyValuePartitionedLayout for the given tableRootDirectory. The table definition will be inferred from the data using CsvTools.readCsv.
      Parameters:
      tableRootDirectory - The root directory for the table.
      maxPartitioningLevels - The maximum number of partitioning levels to use.
      readInstructions - The instructions for customizations while reading.
      channelsProvider - The provider for seekable channels. If null, a new provider will be created and used for all location keys.
    • findKeys

      public final void findKeys(@NotNull @NotNull Consumer<ParquetTableLocationKey> locationKeyObserver)
      Description copied from interface: TableLocationKeyFinder
      Find keys and deliver them to the locationKeyObserver.
      Specified by:
      findKeys in interface TableLocationKeyFinder<ParquetTableLocationKey>
      Parameters:
      locationKeyObserver - Per-key callback