|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.yale.cs.hadoopdb.sms.SQLQueryGenerator
public class SQLQueryGenerator
Performs Hive plan analysis and builds relevant SQL queries
Field Summary | |
---|---|
private static java.lang.String |
HIVE_COLUMN_PREFIX
|
static org.apache.commons.logging.Log |
LOG
|
Constructor Summary | |
---|---|
SQLQueryGenerator()
|
Method Summary | |
---|---|
private static java.lang.String |
buildSQLQuery(SQLQuery sqlStructure,
java.lang.String alias,
org.apache.hadoop.hive.ql.metadata.Table tbl,
java.lang.StringBuilder sqlWhere,
java.lang.StringBuilder sqlGroupBy)
Builds actual SQL query to execute against DBMS |
private static java.lang.String |
funcSQL(java.util.HashMap<java.lang.String,java.lang.String> columnsMapping,
org.apache.hadoop.hive.ql.plan.exprNodeFuncDesc func)
Handles predicates including nested ones |
private static void |
generateDefaultSchema(SQLQuery sqlStructure,
org.apache.hadoop.hive.ql.metadata.Table tbl)
Generates default table schema (as in table definition) |
private static java.lang.String |
getAlias(java.util.Map<java.lang.String,org.apache.hadoop.hive.ql.plan.exprNodeDesc> map,
org.apache.hadoop.hive.ql.plan.exprNodeDesc expr)
Returns alias for Hive expression as specified in the column renaming map |
private static java.lang.String |
getColumnFromExpr(org.apache.hadoop.hive.ql.plan.exprNodeDesc expr,
java.util.HashMap<java.lang.String,java.lang.String> columnsMapping)
Takes the first column from expression |
static void |
hackMapredWorkSchema(SQLQuery sqlStructure,
org.apache.hadoop.hive.ql.metadata.Table tbl)
Cheats Hive's internal table schema with that to be returned by DBMS |
private static java.lang.String |
prefixColumnIndex(int i)
Returns internal column id with prefix |
static void |
process(org.apache.hadoop.hive.conf.HiveConf conf,
org.apache.hadoop.hive.ql.parse.QB qb,
java.util.HashMap<java.lang.String,org.apache.hadoop.hive.ql.exec.Operator<? extends java.io.Serializable>> topOps)
Performs Hive's plan analysis and SQL generation for all tables |
private static void |
processFilter(org.apache.hadoop.hive.ql.exec.FilterOperator op,
SQLQuery sqlStructure,
java.util.HashMap<java.lang.String,java.lang.String> columnsMapping,
java.lang.StringBuilder sqlWhere)
Handles FilterOperator |
private static void |
processGroupBy(org.apache.hadoop.hive.ql.exec.GroupByOperator op,
SQLQuery sqlStructure,
java.util.HashMap<java.lang.String,java.lang.String> columnsMapping,
java.util.Map<java.lang.String,org.apache.hadoop.hive.ql.plan.exprNodeDesc> exprAliasMap,
java.lang.StringBuilder sqlGroupBy)
Handles GroupByOperator |
private static void |
processSelect(org.apache.hadoop.hive.ql.exec.SelectOperator op,
SQLQuery sqlStructure,
java.util.HashMap<java.lang.String,java.lang.String> columnsMapping,
java.util.Map<java.lang.String,org.apache.hadoop.hive.ql.plan.exprNodeDesc> exprAliasMap)
Handles SelectOperator |
static SQLQuery |
processTable(java.lang.String alias,
org.apache.hadoop.hive.ql.metadata.Table tbl,
org.apache.hadoop.hive.ql.exec.TableScanOperator tableScanOp)
Builds SQL query for a given Hive's table |
private static void |
removeOperator(org.apache.hadoop.hive.ql.exec.Operator op)
Removes operators from Hive's plan |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final java.lang.String HIVE_COLUMN_PREFIX
public static final org.apache.commons.logging.Log LOG
Constructor Detail |
---|
public SQLQueryGenerator()
Method Detail |
---|
private static java.lang.String buildSQLQuery(SQLQuery sqlStructure, java.lang.String alias, org.apache.hadoop.hive.ql.metadata.Table tbl, java.lang.StringBuilder sqlWhere, java.lang.StringBuilder sqlGroupBy)
private static java.lang.String funcSQL(java.util.HashMap<java.lang.String,java.lang.String> columnsMapping, org.apache.hadoop.hive.ql.plan.exprNodeFuncDesc func)
private static void generateDefaultSchema(SQLQuery sqlStructure, org.apache.hadoop.hive.ql.metadata.Table tbl)
private static java.lang.String getAlias(java.util.Map<java.lang.String,org.apache.hadoop.hive.ql.plan.exprNodeDesc> map, org.apache.hadoop.hive.ql.plan.exprNodeDesc expr)
private static java.lang.String getColumnFromExpr(org.apache.hadoop.hive.ql.plan.exprNodeDesc expr, java.util.HashMap<java.lang.String,java.lang.String> columnsMapping)
public static void hackMapredWorkSchema(SQLQuery sqlStructure, org.apache.hadoop.hive.ql.metadata.Table tbl)
private static java.lang.String prefixColumnIndex(int i)
public static void process(org.apache.hadoop.hive.conf.HiveConf conf, org.apache.hadoop.hive.ql.parse.QB qb, java.util.HashMap<java.lang.String,org.apache.hadoop.hive.ql.exec.Operator<? extends java.io.Serializable>> topOps)
private static void processFilter(org.apache.hadoop.hive.ql.exec.FilterOperator op, SQLQuery sqlStructure, java.util.HashMap<java.lang.String,java.lang.String> columnsMapping, java.lang.StringBuilder sqlWhere)
private static void processGroupBy(org.apache.hadoop.hive.ql.exec.GroupByOperator op, SQLQuery sqlStructure, java.util.HashMap<java.lang.String,java.lang.String> columnsMapping, java.util.Map<java.lang.String,org.apache.hadoop.hive.ql.plan.exprNodeDesc> exprAliasMap, java.lang.StringBuilder sqlGroupBy)
private static void processSelect(org.apache.hadoop.hive.ql.exec.SelectOperator op, SQLQuery sqlStructure, java.util.HashMap<java.lang.String,java.lang.String> columnsMapping, java.util.Map<java.lang.String,org.apache.hadoop.hive.ql.plan.exprNodeDesc> exprAliasMap)
public static SQLQuery processTable(java.lang.String alias, org.apache.hadoop.hive.ql.metadata.Table tbl, org.apache.hadoop.hive.ql.exec.TableScanOperator tableScanOp)
private static void removeOperator(org.apache.hadoop.hive.ql.exec.Operator op)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |