protected void prefixBy(PartitionSpec pSpec) { if ( pSpec == null || pSpec.getExpressions() == null) { return; } if ( expressions == null ) { expressions = new ArrayList<PTFInvocationSpec.OrderExpression>(); } for(int i = pSpec.getExpressions().size() - 1; i >= 0; i--) { expressions.add(0, new OrderExpression(pSpec.getExpressions().get(i))); } }
protected void prefixBy(PartitionSpec pSpec) { if ( pSpec == null || pSpec.getExpressions() == null) { return; } if ( expressions == null ) { expressions = new ArrayList<PTFInvocationSpec.OrderExpression>(); } for(int i = pSpec.getExpressions().size() - 1; i >= 0; i--) { expressions.add(0, new OrderExpression(pSpec.getExpressions().get(i))); } }
/** * Add order expressions from the list of expressions in the format of ASTNode * @param args */ public void addExpressions(ArrayList<ASTNode> nodes) { for (int i = 0; i < nodes.size(); i++) { OrderExpression expr = new OrderExpression(); expr.setExpression(nodes.get(i)); addExpression(expr); } }
if (numOfPartColumns == 0) { for (PartitionExpression partCol : partCols) { OrderExpression orderCol = new OrderExpression(partCol); combinedOrdExprs.add(orderCol);
private PartitioningSpec getPSpec(RexWindow window) { PartitioningSpec partitioning = new PartitioningSpec(); Schema schema = new Schema(tabAlias, inputRowType.getFieldList()); if (window.partitionKeys != null && !window.partitionKeys.isEmpty()) { PartitionSpec pSpec = new PartitionSpec(); for (RexNode pk : window.partitionKeys) { PartitionExpression exprSpec = new PartitionExpression(); ASTNode astNode = pk.accept(new RexVisitor(schema)); exprSpec.setExpression(astNode); pSpec.addExpression(exprSpec); } partitioning.setPartSpec(pSpec); } if (window.orderKeys != null && !window.orderKeys.isEmpty()) { OrderSpec oSpec = new OrderSpec(); for (RexFieldCollation ok : window.orderKeys) { OrderExpression exprSpec = new OrderExpression(); Order order = ok.getDirection() == RelFieldCollation.Direction.ASCENDING ? Order.ASC : Order.DESC; exprSpec.setOrder(order); ASTNode astNode = ok.left.accept(new RexVisitor(schema)); exprSpec.setExpression(astNode); oSpec.addExpression(exprSpec); } partitioning.setOrderSpec(oSpec); } return partitioning; }
private OrderSpec processOrderSpec(ASTNode sortNode) { OrderSpec oSpec = new OrderSpec(); int exprCnt = sortNode.getChildCount(); for(int i=0; i < exprCnt; i++) { OrderExpression exprSpec = new OrderExpression(); exprSpec.setExpression((ASTNode) sortNode.getChild(i).getChild(0)); if ( sortNode.getChild(i).getType() == HiveParser.TOK_TABSORTCOLNAMEASC ) { exprSpec.setOrder(org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.Order.ASC); } else { exprSpec.setOrder(org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.Order.DESC); } oSpec.addExpression(exprSpec); } return oSpec; }
protected void prefixBy(PartitionSpec pSpec) { if ( pSpec == null || pSpec.getExpressions() == null) { return; } if ( expressions == null ) { expressions = new ArrayList<PTFInvocationSpec.OrderExpression>(); } for(int i = pSpec.getExpressions().size() - 1; i >= 0; i--) { expressions.add(0, new OrderExpression(pSpec.getExpressions().get(i))); } }
public OrderSpec(PartitionSpec pSpec) { for(PartitionExpression peSpec : pSpec.getExpressions()) { addExpression(new OrderExpression(peSpec)); } }
if (numOfPartColumns == 0) { for (PartitionExpression partCol : partCols) { OrderExpression orderCol = new OrderExpression(partCol); combinedOrdExprs.add(orderCol);
OrderSpec oSpec = new OrderSpec(); for (RexFieldCollation ok : window.orderKeys) { OrderExpression exprSpec = new OrderExpression(); Order order = ok.getDirection() == RelFieldCollation.Direction.ASCENDING ? Order.ASC : Order.DESC;
if (numOfPartColumns == 0) { for (PartitionExpression partCol : partCols) { OrderExpression orderCol = new OrderExpression(partCol); combinedOrdExprs.add(orderCol);
OrderSpec oSpec = new OrderSpec(); for (RexFieldCollation ok : window.orderKeys) { OrderExpression exprSpec = new OrderExpression(); Order order = ok.getDirection() == RelFieldCollation.Direction.ASCENDING ? Order.ASC : Order.DESC;
private OrderSpec processOrderSpec(ASTNode sortNode) { OrderSpec oSpec = new OrderSpec(); int exprCnt = sortNode.getChildCount(); for(int i=0; i < exprCnt; i++) { OrderExpression exprSpec = new OrderExpression(); ASTNode orderSpec = (ASTNode) sortNode.getChild(i); ASTNode nullOrderSpec = (ASTNode) orderSpec.getChild(0); exprSpec.setExpression((ASTNode) nullOrderSpec.getChild(0)); if ( orderSpec.getType() == HiveParser.TOK_TABSORTCOLNAMEASC ) { exprSpec.setOrder(org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.Order.ASC); } else { exprSpec.setOrder(org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.Order.DESC); } if ( nullOrderSpec.getType() == HiveParser.TOK_NULLS_FIRST ) { exprSpec.setNullOrder(org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.NullOrder.NULLS_FIRST); } else { exprSpec.setNullOrder(org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.NullOrder.NULLS_LAST); } oSpec.addExpression(exprSpec); } return oSpec; }
private OrderSpec processOrderSpec(ASTNode sortNode) { OrderSpec oSpec = new OrderSpec(); int exprCnt = sortNode.getChildCount(); for(int i=0; i < exprCnt; i++) { OrderExpression exprSpec = new OrderExpression(); ASTNode orderSpec = (ASTNode) sortNode.getChild(i); ASTNode nullOrderSpec = (ASTNode) orderSpec.getChild(0); exprSpec.setExpression((ASTNode) nullOrderSpec.getChild(0)); if ( orderSpec.getType() == HiveParser.TOK_TABSORTCOLNAMEASC ) { exprSpec.setOrder(org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.Order.ASC); } else { exprSpec.setOrder(org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.Order.DESC); } if ( nullOrderSpec.getType() == HiveParser.TOK_NULLS_FIRST ) { exprSpec.setNullOrder(org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.NullOrder.NULLS_FIRST); } else { exprSpec.setNullOrder(org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.NullOrder.NULLS_LAST); } oSpec.addExpression(exprSpec); } return oSpec; }
/** * Add order expressions from the list of expressions in the format of ASTNode * @param args */ public void addExpressions(ArrayList<ASTNode> nodes) { for (int i = 0; i < nodes.size(); i++) { OrderExpression expr = new OrderExpression(); expr.setExpression(nodes.get(i)); addExpression(expr); } }
public OrderSpec(PartitionSpec pSpec) { for(PartitionExpression peSpec : pSpec.getExpressions()) { addExpression(new OrderExpression(peSpec)); } }
public OrderSpec(PartitionSpec pSpec) { for(PartitionExpression peSpec : pSpec.getExpressions()) { addExpression(new OrderExpression(peSpec)); } }