public OpTraits getOpTraits() { return (conf == null) ? null : conf.getTraits(); }
public OpTraits getOpTraits() { if (conf != null) { return conf.getTraits(); } return null; }
private void setStatistics(Operator<? extends OperatorDesc> origin, Operator<? extends OperatorDesc> clone) { clone.getConf().setStatistics(origin.getConf().getStatistics()); clone.getConf().setTraits(origin.getConf().getTraits()); if (origin.getChildOperators().size() == clone.getChildOperators().size()) { for (int i = 0; i < clone.getChildOperators().size(); i++) { setStatistics(origin.getChildOperators().get(i), clone.getChildOperators().get(i)); } } } }
private void setStatistics(Operator<? extends OperatorDesc> origin, Operator<? extends OperatorDesc> clone) { clone.getConf().setStatistics(origin.getConf().getStatistics()); clone.getConf().setTraits(origin.getConf().getTraits()); if (origin.getChildOperators().size() == clone.getChildOperators().size()) { for (int i = 0; i < clone.getChildOperators().size(); i++) { setStatistics(origin.getChildOperators().get(i), clone.getChildOperators().get(i)); } } } }
@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { ReduceSinkOperator rs = (ReduceSinkOperator)nd; List<String> bucketCols = new ArrayList<String>(); if (rs.getColumnExprMap() != null) { for (ExprNodeDesc exprDesc : rs.getConf().getKeyCols()) { for (Entry<String, ExprNodeDesc> entry : rs.getColumnExprMap().entrySet()) { if (exprDesc.isSame(entry.getValue())) { bucketCols.add(entry.getKey()); } } } } List<List<String>> listBucketCols = new ArrayList<List<String>>(); listBucketCols.add(bucketCols); int numBuckets = -1; int numReduceSinks = 1; OpTraits parentOpTraits = rs.getParentOperators().get(0).getConf().getTraits(); if (parentOpTraits != null) { numBuckets = parentOpTraits.getNumBuckets(); numReduceSinks += parentOpTraits.getNumReduceSinks(); } OpTraits opTraits = new OpTraits(listBucketCols, numBuckets, listBucketCols, numReduceSinks); rs.setOpTraits(opTraits); return null; } }
public OpTraits getOpTraits() { if (conf != null) { return conf.getTraits(); } return null; }
@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { ReduceSinkOperator rs = (ReduceSinkOperator)nd; List<String> bucketCols = new ArrayList<String>(); if (rs.getColumnExprMap() != null) { for (ExprNodeDesc exprDesc : rs.getConf().getKeyCols()) { for (Entry<String, ExprNodeDesc> entry : rs.getColumnExprMap().entrySet()) { if (exprDesc.isSame(entry.getValue())) { bucketCols.add(entry.getKey()); } } } } List<List<String>> listBucketCols = new ArrayList<List<String>>(); listBucketCols.add(bucketCols); int numBuckets = -1; OpTraits parentOpTraits = rs.getParentOperators().get(0).getConf().getTraits(); if (parentOpTraits != null) { numBuckets = parentOpTraits.getNumBuckets(); } OpTraits opTraits = new OpTraits(listBucketCols, numBuckets, listBucketCols); rs.setOpTraits(opTraits); return null; } }
private void setStatistics(Operator<? extends OperatorDesc> origin, Operator<? extends OperatorDesc> clone) { clone.getConf().setStatistics(origin.getConf().getStatistics()); clone.getConf().setTraits(origin.getConf().getTraits()); if (origin.getChildOperators().size() == clone.getChildOperators().size()) { for (int i = 0; i < clone.getChildOperators().size(); i++) { setStatistics(origin.getChildOperators().get(i), clone.getChildOperators().get(i)); } } } }