Class FrameBasedIndexedTable
- java.lang.Object
-
- org.apache.druid.segment.join.table.FrameBasedIndexedTable
-
- All Implemented Interfaces:
Closeable,AutoCloseable,IndexedTable,ReferenceCountedObject
public class FrameBasedIndexedTable extends Object implements IndexedTable
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.druid.segment.join.table.IndexedTable
IndexedTable.Index, IndexedTable.Reader
-
-
Constructor Summary
Constructors Constructor Description FrameBasedIndexedTable(FrameBasedInlineDataSource frameBasedInlineDataSource, Set<String> keyColumns, String version)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Optional<Closeable>acquireReferences()This method is expected to increment a reference count and provide aCloseablethat decrements the reference count when closed.voidclose()IndexedTable.IndexcolumnIndex(int column)Returns the index for a particular column.IndexedTable.ReadercolumnReader(int column)Returns a reader for a particular column.booleanisCacheable()Returns whether this indexed table can be cached for the join operationsSet<String>keyColumns()Returns the columns of this table that have indexes.intnumRows()Returns the number of rows in this table.RowSignaturerowSignature()Returns the signature of this table, which includes all key columns (as well as other columns that can be selected, but are not keys).Stringversion()Returns the version of this table, used to compare against when loading a new version of the table-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.druid.segment.join.table.IndexedTable
computeCacheKey, makeColumnSelectorFactory
-
-
-
-
Constructor Detail
-
FrameBasedIndexedTable
public FrameBasedIndexedTable(FrameBasedInlineDataSource frameBasedInlineDataSource, Set<String> keyColumns, String version)
-
-
Method Detail
-
version
public String version()
Description copied from interface:IndexedTableReturns the version of this table, used to compare against when loading a new version of the table- Specified by:
versionin interfaceIndexedTable
-
keyColumns
public Set<String> keyColumns()
Description copied from interface:IndexedTableReturns the columns of this table that have indexes.- Specified by:
keyColumnsin interfaceIndexedTable
-
rowSignature
public RowSignature rowSignature()
Description copied from interface:IndexedTableReturns the signature of this table, which includes all key columns (as well as other columns that can be selected, but are not keys).- Specified by:
rowSignaturein interfaceIndexedTable
-
numRows
public int numRows()
Description copied from interface:IndexedTableReturns the number of rows in this table. It must not change over time, since it is used for things like algorithm selection and reporting of cardinality metadata.- Specified by:
numRowsin interfaceIndexedTable
-
columnIndex
public IndexedTable.Index columnIndex(int column)
Description copied from interface:IndexedTableReturns the index for a particular column. The provided column number must be that column's position inIndexedTable.rowSignature().- Specified by:
columnIndexin interfaceIndexedTable
-
columnReader
public IndexedTable.Reader columnReader(int column)
Description copied from interface:IndexedTableReturns a reader for a particular column. The provided column number must be that column's position inIndexedTable.rowSignature(). Don't forget to close yourIndexedTable.Readerwhen finished reading, to clean up any resources.- Specified by:
columnReaderin interfaceIndexedTable
-
isCacheable
public boolean isCacheable()
Description copied from interface:IndexedTableReturns whether this indexed table can be cached for the join operations- Specified by:
isCacheablein interfaceIndexedTable
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
acquireReferences
public Optional<Closeable> acquireReferences()
Description copied from interface:ReferenceCountedObjectThis method is expected to increment a reference count and provide aCloseablethat decrements the reference count when closed. This is likely just a wrapper aroundReferenceCountingCloseableObject.incrementReferenceAndDecrementOnceCloseable(), but may also include any other associated references which should be incremented when this method is called, and decremented/released by the closeable. IMPORTANT NOTE: to fulfill the contract of this method, implementors must return a closeable to indicate that the reference can be acquired, even if there is nothing to close. Implementors should avoid allowing this method or theCloseableit creates to throw exceptions. For callers: if this method returns non-empty, IT MUST BE CLOSED, else reference counts can potentially leak.- Specified by:
acquireReferencesin interfaceReferenceCountedObject
-
-