public CubeQueryContext(ASTNode ast, QB qb, Configuration queryConf, HiveConf metastoreConf) throws LensException { this.ast = ast; this.qb = qb; this.conf = queryConf; this.clauseName = getClause(); this.timeRanges = new ArrayList<TimeRange>(); try { metastoreClient = CubeMetastoreClient.getInstance(metastoreConf); } catch (HiveException e) { throw new LensException(e); } if (qb.getParseInfo().getWhrForClause(clauseName) != null) { this.whereAST = qb.getParseInfo().getWhrForClause(clauseName); } if (qb.getParseInfo().getHavingForClause(clauseName) != null) { this.havingAST = qb.getParseInfo().getHavingForClause(clauseName); } if (qb.getParseInfo().getOrderByForClause(clauseName) != null) { this.orderByAST = qb.getParseInfo().getOrderByForClause(clauseName); } if (qb.getParseInfo().getGroupByForClause(clauseName) != null) { this.groupByAST = qb.getParseInfo().getGroupByForClause(clauseName); } if (qb.getParseInfo().getSelForClause(clauseName) != null) { this.selectAST = qb.getParseInfo().getSelForClause(clauseName); } for (ASTNode aggrTree : qb.getParseInfo().getAggregationExprsForClause(clauseName).values()) { String aggr = HQLParser.getString(aggrTree); aggregateExprs.add(aggr); } extractMetaTables(); }
public String getInsertClause() { String insertString = ""; ASTNode destTree = qb.getParseInfo().getDestForClause(clauseName); if (destTree != null && ((ASTNode) (destTree.getChild(0))).getToken().getType() != TOK_TMP_FILE) { insertString = "INSERT OVERWRITE" + HQLParser.getString(qb.getParseInfo().getDestForClause(clauseName)); } return insertString; }
public String getOrderByTree() { if (orderByAST != null) { return HQLParser.getString(orderByAST); } return null; }
public String getHavingTree() { if (havingAST != null) { return HQLParser.getString(havingAST); } return null; }
public String getGroupByTree() { if (groupByAST != null) { return HQLParser.getString(groupByAST); } return null; }
public String getWhereTree() { if (whereAST != null) { return HQLParser.getString(whereAST); } return null; }
public String getSelectTree() { return HQLParser.getString(selectAST); }
public void addExprToAlias(ASTNode expr, ASTNode alias) { exprToAlias.put(HQLParser.getString(expr).trim(), alias.getText().toLowerCase()); }