org.apache.hadoop.hive.ql.exec
Class JoinUtil

java.lang.Object
  extended by org.apache.hadoop.hive.ql.exec.JoinUtil

public class JoinUtil
extends Object


Constructor Summary
JoinUtil()
           
 
Method Summary
static ArrayList<Object> computeKeys(Object row, List<ExprNodeEvaluator> keyFields, List<ObjectInspector> keyFieldsOI)
          Return the key as a standard object.
static Object[] computeMapJoinValues(Object row, List<ExprNodeEvaluator> valueFields, List<ObjectInspector> valueFieldsOI, List<ExprNodeEvaluator> filters, List<ObjectInspector> filtersOI, int[] filterMap)
          Return the value as a standard object.
static List<Object> computeValues(Object row, List<ExprNodeEvaluator> valueFields, List<ObjectInspector> valueFieldsOI, boolean hasFilter)
          Return the value as a standard object.
static List<ObjectInspector>[] getObjectInspectorsFromEvaluators(List<ExprNodeEvaluator>[] exprEntries, ObjectInspector[] inputObjInspector, int posBigTableAlias, int tagLen)
           
static RowContainer<List<Object>> getRowContainer(org.apache.hadoop.conf.Configuration hconf, List<ObjectInspector> structFieldObjectInspectors, Byte alias, int containerSize, TableDesc[] spillTableDesc, JoinDesc conf, boolean noFilter, org.apache.hadoop.mapred.Reporter reporter)
           
static SerDe getSpillSerDe(byte alias, TableDesc[] spillTableDesc, JoinDesc conf, boolean noFilter)
           
static TableDesc getSpillTableDesc(Byte alias, TableDesc[] spillTableDesc, JoinDesc conf, boolean noFilter)
           
static List<ObjectInspector>[] getStandardObjectInspectors(List<ObjectInspector>[] aliasToObjectInspectors, int posBigTableAlias, int tagLen)
           
static TableDesc[] initSpillTables(JoinDesc conf, boolean noFilter)
           
static int populateJoinKeyValue(List<ExprNodeEvaluator>[] outMap, Map<Byte,List<ExprNodeDesc>> inputMap, Byte[] order, int posBigTableAlias)
           
static int populateJoinKeyValue(List<ExprNodeEvaluator>[] outMap, Map<Byte,List<ExprNodeDesc>> inputMap, int posBigTableAlias)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JoinUtil

public JoinUtil()
Method Detail

getObjectInspectorsFromEvaluators

public static List<ObjectInspector>[] getObjectInspectorsFromEvaluators(List<ExprNodeEvaluator>[] exprEntries,
                                                                        ObjectInspector[] inputObjInspector,
                                                                        int posBigTableAlias,
                                                                        int tagLen)
                                                                 throws HiveException
Throws:
HiveException

getStandardObjectInspectors

public static List<ObjectInspector>[] getStandardObjectInspectors(List<ObjectInspector>[] aliasToObjectInspectors,
                                                                  int posBigTableAlias,
                                                                  int tagLen)

populateJoinKeyValue

public static int populateJoinKeyValue(List<ExprNodeEvaluator>[] outMap,
                                       Map<Byte,List<ExprNodeDesc>> inputMap,
                                       int posBigTableAlias)
                                throws HiveException
Throws:
HiveException

populateJoinKeyValue

public static int populateJoinKeyValue(List<ExprNodeEvaluator>[] outMap,
                                       Map<Byte,List<ExprNodeDesc>> inputMap,
                                       Byte[] order,
                                       int posBigTableAlias)
                                throws HiveException
Throws:
HiveException

computeKeys

public static ArrayList<Object> computeKeys(Object row,
                                            List<ExprNodeEvaluator> keyFields,
                                            List<ObjectInspector> keyFieldsOI)
                                     throws HiveException
Return the key as a standard object. StandardObject can be inspected by a standard ObjectInspector.

Throws:
HiveException

computeMapJoinValues

public static Object[] computeMapJoinValues(Object row,
                                            List<ExprNodeEvaluator> valueFields,
                                            List<ObjectInspector> valueFieldsOI,
                                            List<ExprNodeEvaluator> filters,
                                            List<ObjectInspector> filtersOI,
                                            int[] filterMap)
                                     throws HiveException
Return the value as a standard object. StandardObject can be inspected by a standard ObjectInspector.

Throws:
HiveException

computeValues

public static List<Object> computeValues(Object row,
                                         List<ExprNodeEvaluator> valueFields,
                                         List<ObjectInspector> valueFieldsOI,
                                         boolean hasFilter)
                                  throws HiveException
Return the value as a standard object. StandardObject can be inspected by a standard ObjectInspector. If it would be tagged by filter, reserve one more slot for that. outValues can be passed in to avoid allocation

Throws:
HiveException

getSpillTableDesc

public static TableDesc getSpillTableDesc(Byte alias,
                                          TableDesc[] spillTableDesc,
                                          JoinDesc conf,
                                          boolean noFilter)

getSpillSerDe

public static SerDe getSpillSerDe(byte alias,
                                  TableDesc[] spillTableDesc,
                                  JoinDesc conf,
                                  boolean noFilter)

initSpillTables

public static TableDesc[] initSpillTables(JoinDesc conf,
                                          boolean noFilter)

getRowContainer

public static RowContainer<List<Object>> getRowContainer(org.apache.hadoop.conf.Configuration hconf,
                                                         List<ObjectInspector> structFieldObjectInspectors,
                                                         Byte alias,
                                                         int containerSize,
                                                         TableDesc[] spillTableDesc,
                                                         JoinDesc conf,
                                                         boolean noFilter,
                                                         org.apache.hadoop.mapred.Reporter reporter)
                                                  throws HiveException
Throws:
HiveException


Copyright © 2014 The Apache Software Foundation. All rights reserved.