Package org.apache.druid.segment.join
Class FrameBasedInlineJoinableFactory
- java.lang.Object
-
- org.apache.druid.segment.join.FrameBasedInlineJoinableFactory
-
- All Implemented Interfaces:
JoinableFactory
public class FrameBasedInlineJoinableFactory extends Object implements JoinableFactory
Creates a joinable from theFrameBasedInlineDataSource
. This materializes the datasource to anInlineDataSource
, before creating the joinable on it, which carries the overhead of this conversion.
-
-
Constructor Summary
Constructors Constructor Description FrameBasedInlineJoinableFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Optional<Joinable>
build(DataSource dataSource, JoinConditionAnalysis condition)
Create a Joinable object.boolean
isDirectlyJoinable(DataSource dataSource)
Returns true if aJoinable
**may** be created for a givenDataSource
, but is not a guarantee thatJoinableFactory.build(org.apache.druid.query.DataSource, org.apache.druid.segment.join.JoinConditionAnalysis)
will return a non-empty result.-
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.JoinableFactory
computeJoinCacheKey
-
-
-
-
Method Detail
-
isDirectlyJoinable
public boolean isDirectlyJoinable(DataSource dataSource)
Description copied from interface:JoinableFactory
Returns true if aJoinable
**may** be created for a givenDataSource
, but is not a guarantee thatJoinableFactory.build(org.apache.druid.query.DataSource, org.apache.druid.segment.join.JoinConditionAnalysis)
will return a non-empty result. Successfully building aJoinable
might require specific criteria of theJoinConditionAnalysis
.- Specified by:
isDirectlyJoinable
in interfaceJoinableFactory
-
build
public Optional<Joinable> build(DataSource dataSource, JoinConditionAnalysis condition)
Description copied from interface:JoinableFactory
Create a Joinable object. This may be an expensive operation involving loading data, creating a hash table, etc.- Specified by:
build
in interfaceJoinableFactory
- Parameters:
dataSource
- the datasource to join oncondition
- the condition to join on- Returns:
- a Joinable if this datasource + condition combo is joinable; empty if not
-
-