List<Integer> rFnIdxs = rankingFunctions(wTFn); int fnIdx = -1; for(ExprNodeDesc pred : preds) { int[] pLimit = getLimit(wTFn, rFnIdxs, pred); if ( pLimit != null ) { if ( rLimit == -1 || rLimit >= pLimit[0] ) { wTFn.setRankLimit(rLimit); wTFn.setRankLimitFunction(fnIdx); if ( canPushLimitToReduceSink(wTFn)) { pushRankLimitToRedSink(ptfOp, owi.getParseContext().getConf(), rLimit);
@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { LOG.info("Processing for " + nd.getName() + "(" + ((Operator) nd).getIdentifier() + ")"); OpWalkerInfo owi = (OpWalkerInfo) procCtx; PTFOperator ptfOp = (PTFOperator) nd; pushRankLimit(ptfOp, owi); return super.process(nd, stack, procCtx, nodeOutputs); }
List<Integer> rFnIdxs = rankingFunctions(wTFn); int fnIdx = -1; for(ExprNodeDesc pred : preds) { int[] pLimit = getLimit(wTFn, rFnIdxs, pred); if ( pLimit != null ) { if ( rLimit == -1 || rLimit >= pLimit[0] ) { wTFn.setRankLimit(rLimit); wTFn.setRankLimitFunction(fnIdx); if ( canPushLimitToReduceSink(wTFn)) { pushRankLimitToRedSink(ptfOp, owi.getParseContext().getConf(), rLimit);
public static NodeProcessor getPTFProc() { return new PTFPPD(); }
@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { LOG.info("Processing for " + nd.getName() + "(" + ((Operator) nd).getIdentifier() + ")"); OpWalkerInfo owi = (OpWalkerInfo) procCtx; PTFOperator ptfOp = (PTFOperator) nd; pushRankLimit(ptfOp, owi); return super.process(nd, stack, procCtx, nodeOutputs); }
List<Integer> rFnIdxs = rankingFunctions(wTFn); int fnIdx = -1; for(ExprNodeDesc pred : preds) { int[] pLimit = getLimit(wTFn, rFnIdxs, pred); if ( pLimit != null ) { if ( rLimit == -1 || rLimit >= pLimit[0] ) { wTFn.setRankLimit(rLimit); wTFn.setRankLimitFunction(fnIdx); if ( canPushLimitToReduceSink(wTFn)) { pushRankLimitToRedSink(ptfOp, owi.getParseContext().getConf(), rLimit);
public static NodeProcessor getPTFProc() { return new PTFPPD(); }
public static NodeProcessor getPTFProc() { return new PTFPPD(); }
@Override public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx, Object... nodeOutputs) throws SemanticException { LOG.info("Processing for " + nd.getName() + "(" + ((Operator) nd).getIdentifier() + ")"); OpWalkerInfo owi = (OpWalkerInfo) procCtx; PTFOperator ptfOp = (PTFOperator) nd; pushRankLimit(ptfOp, owi); return super.process(nd, stack, procCtx, nodeOutputs); }