Class URIStreamKeyValuePartitionLayout<TLK extends TableLocationKey>
java.lang.Object
io.deephaven.engine.table.impl.locations.local.KeyValuePartitionLayout<TLK,URI>
io.deephaven.engine.table.impl.locations.local.URIStreamKeyValuePartitionLayout<TLK>
- All Implemented Interfaces:
TableLocationKeyFinder<TLK>
- Direct Known Subclasses:
ParquetKeyValuePartitionedLayout
public abstract class URIStreamKeyValuePartitionLayout<TLK extends TableLocationKey>
extends KeyValuePartitionLayout<TLK,URI>
Extracts a key-value partitioned table layout from a stream of URIs.
-
Nested Class Summary
Nested classes/interfaces inherited from class io.deephaven.engine.table.impl.locations.local.KeyValuePartitionLayout
KeyValuePartitionLayout.LocationTableBuilder
-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionprotected
URIStreamKeyValuePartitionLayout
(@NotNull URI tableRootDirectory, @NotNull Supplier<KeyValuePartitionLayout.LocationTableBuilder> locationTableBuilderFactory, @NotNull BiFunction<URI, Map<String, Comparable<?>>, TLK> keyFactory, int maxPartitioningLevels) -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.deephaven.engine.table.impl.locations.impl.TableLocationKeyFinder
findKeys
-
Field Details
-
tableRootDirectory
-
-
Constructor Details
-
URIStreamKeyValuePartitionLayout
protected URIStreamKeyValuePartitionLayout(@NotNull @NotNull URI tableRootDirectory, @NotNull @NotNull Supplier<KeyValuePartitionLayout.LocationTableBuilder> locationTableBuilderFactory, @NotNull @NotNull BiFunction<URI, Map<String, Comparable<?>>, TLK> keyFactory, int maxPartitioningLevels) - Parameters:
tableRootDirectory
- The directory to traverse fromlocationTableBuilderFactory
- Factory forbuilders
used to organize partition information; as builders are typically stateful, a new builder is created each time thisKeyValuePartitionLayout
is used tofind keys
keyFactory
- Factory function used to generate table location keys from target files and partition valuesmaxPartitioningLevels
- Maximum partitioning levels to traverse. Must be>= 0
.0
means only look at files intableRootDirectory
and find no partitions.
-
-
Method Details
-
toString
- Overrides:
toString
in classKeyValuePartitionLayout<TLK extends TableLocationKey,
URI>
-
findKeys
protected final void findKeys(@NotNull @NotNull Stream<URI> uriStream, @NotNull @NotNull Consumer<TLK> locationKeyObserver) Find the keys in the given URI stream and notify the observer. Note that the URIs are not expected to have any extra slashes or other path separators. For example, "/a//b/c" in the path is not expected.
-