Interface SupportsPushDownJoin
- All Superinterfaces:
ScanBuilder
A mix-in interface for
ScanBuilder
. Data sources can implement this interface to
push down join operators.- Since:
- 4.1.0
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final record
A helper class used when there are duplicated names coming from 2 sides of the join operator. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns true if the other side of the join is compatible with the currentSupportsPushDownJoin
for a join push down, meaning both sides can be processed together within the same underlying data source.boolean
pushDownJoin
(SupportsPushDownJoin other, JoinType joinType, SupportsPushDownJoin.ColumnWithAlias[] leftSideRequiredColumnsWithAliases, SupportsPushDownJoin.ColumnWithAlias[] rightSideRequiredColumnsWithAliases, Predicate condition) Pushes down the join of the currentSupportsPushDownJoin
and the other side of joinSupportsPushDownJoin
.Methods inherited from interface org.apache.spark.sql.connector.read.ScanBuilder
build
-
Method Details
-
isOtherSideCompatibleForJoin
Returns true if the other side of the join is compatible with the currentSupportsPushDownJoin
for a join push down, meaning both sides can be processed together within the same underlying data source.
For example, JDBC connectors are compatible if they use the same host, port, username, and password. -
pushDownJoin
boolean pushDownJoin(SupportsPushDownJoin other, JoinType joinType, SupportsPushDownJoin.ColumnWithAlias[] leftSideRequiredColumnsWithAliases, SupportsPushDownJoin.ColumnWithAlias[] rightSideRequiredColumnsWithAliases, Predicate condition) Pushes down the join of the currentSupportsPushDownJoin
and the other side of joinSupportsPushDownJoin
.- Parameters:
other
-SupportsPushDownJoin
that thisSupportsPushDownJoin
gets joined with.joinType
- the type of join.leftSideRequiredColumnsWithAliases
- required output of the left sideSupportsPushDownJoin
rightSideRequiredColumnsWithAliases
- required output of the right sideSupportsPushDownJoin
condition
- join condition. Columns are named after the specified aliases inleftSideRequiredColumnWithAliases
andrightSideRequiredColumnWithAliases
- Returns:
- True if join has been successfully pushed down.
-