Package com.cupoftea.table
Class DataFrameJoiner
java.lang.Object
com.cupoftea.table.DataFrameJoiner
Vectorized Columnar Hash Join engine operating directly on
ColumnVector storage.
Eliminates row-level object materialization (Row, JoinKey, HashMap) by:
- Build Phase: Constructing a flat primitive-array chained hash table (
int[] bucketHead,int[] nextRowIdx) with specialized zero-boxing fast-paths forint,long, dictionary codes, and UTF-8 byte slices (StringColumnVector). - Probe Phase: Partitioning the probe table across parallel worker chunks to emit primitive
gather index pairs
(leftMatchIdx, rightMatchIdx)(with-1indicating unmatched null rows). - Gather Phase: Materializing output
ColumnVectors in bulk via indexed array gather and lock-free two-pass UTF-8 byte compaction.
-
Method Summary
Modifier and TypeMethodDescriptionstatic IDataFrameasOfJoin(IDataFrame left, IDataFrame right, String leftOn, String rightOn, List<String> leftBy, List<String> rightBy, AsOfDirection direction, String leftSuffix, String rightSuffix) static IDataFramejoin(IDataFrame left, IDataFrame right, JoinType how, List<String> leftOn, List<String> rightOn, String leftSuffix, String rightSuffix)
-
Method Details
-
join
public static IDataFrame join(IDataFrame left, IDataFrame right, JoinType how, List<String> leftOn, List<String> rightOn, String leftSuffix, String rightSuffix) -
asOfJoin
public static IDataFrame asOfJoin(IDataFrame left, IDataFrame right, String leftOn, String rightOn, List<String> leftBy, List<String> rightBy, AsOfDirection direction, String leftSuffix, String rightSuffix)
-