private void mergeNonDistinctAggr(Tuple tuple) { if (nonDistinctAggrFunctions == null) { return; } for (int i = 0; i < nonDistinctAggrFunctions.length; i++) { nonDistinctAggrFunctions[i].merge(nonDistinctAggrContexts[i], tuple); } }
private void mergeNonDistinctAggr(Tuple tuple) { if (nonDistinctAggrFunctions == null) { return; } for (int i = 0; i < nonDistinctAggrFunctions.size(); i++) { nonDistinctAggrFunctions.get(i).merge(nonDistinctAggrContexts[i], tuple); } }
public void merge(Tuple tuple) { for (int i = 0; i < aggrFunctions.size(); i++) { aggrFunctions.get(i).merge(functionContexts[i], tuple); } if (seq == 0 && nonDistinctAggr != null) { nonDistinctAggr.merge(tuple); } }
public void merge(Tuple tuple) { for (int i = 0; i < aggrFunctions.length; i++) { aggrFunctions[i].merge(functionContexts[i], tuple); } if (seq == 0 && nonDistinctAggr != null) { nonDistinctAggr.merge(tuple); } }
public void compute(KeyTuple groupingKeyTuple, Tuple tuple) { FunctionContext[] contexts = nonDistinctAggrDatas.get(groupingKeyTuple); if (contexts != null) { for (int i = 0; i < aggFunctions.size(); i++) { aggFunctions.get(i).merge(contexts[i], tuple); } } else { // if the key occurs firstly contexts = new FunctionContext[aggFunctionsNum]; for (int i = 0; i < aggFunctionsNum; i++) { contexts[i] = aggFunctions.get(i).newContext(); aggFunctions.get(i).merge(contexts[i], tuple); } nonDistinctAggrDatas.put(groupingKeyTuple, contexts); } }
public void compute(KeyTuple groupingKeyTuple, Tuple tuple) { FunctionContext[] contexts = nonDistinctAggrDatas.get(groupingKeyTuple); if (contexts != null) { for (int i = 0; i < aggFunctions.length; i++) { aggFunctions[i].merge(contexts[i], tuple); } } else { // if the key occurs firstly contexts = new FunctionContext[aggFunctionsNum]; for (int i = 0; i < aggFunctionsNum; i++) { contexts[i] = aggFunctions[i].newContext(); aggFunctions[i].merge(contexts[i], tuple); } nonDistinctAggrDatas.put(groupingKeyTuple, contexts); } }
public void compute(Tuple tuple) throws IOException { KeyTuple outerKeyTuple = outerKeyProjector.project(tuple); TupleMap<FunctionContext[]> distinctEntry = hashTable.get(outerKeyTuple); if (distinctEntry == null) { distinctEntry = new TupleMap<>(); hashTable.put(outerKeyTuple, distinctEntry); } KeyTuple innerKeyTuple = innerKeyProjector.project(tuple); FunctionContext[] contexts = distinctEntry.get(innerKeyTuple); if (contexts != null) { for (int i = 0; i < aggFunctions.size(); i++) { aggFunctions.get(i).merge(contexts[i], tuple); } } else { // if the key occurs firstly contexts = new FunctionContext[aggFunctionsNum]; for (int i = 0; i < aggFunctionsNum; i++) { contexts[i] = aggFunctions.get(i).newContext(); aggFunctions.get(i).merge(contexts[i], tuple); } distinctEntry.put(innerKeyTuple, contexts); } }
private void compute() throws IOException { Tuple tuple; KeyTuple keyTuple; while(!context.isStopped() && (tuple = child.next()) != null) { keyTuple = hashKeyProjector.project(tuple); FunctionContext [] contexts = hashTable.get(keyTuple); if(contexts != null) { for(int i = 0; i < aggFunctions.size(); i++) { aggFunctions.get(i).merge(contexts[i], tuple); } } else { // if the key occurs firstly contexts = new FunctionContext[aggFunctionsNum]; for(int i = 0; i < aggFunctionsNum; i++) { contexts[i] = aggFunctions.get(i).newContext(); aggFunctions.get(i).merge(contexts[i], tuple); } hashTable.put(keyTuple, contexts); } } // If HashAggregateExec received NullDatum and didn't has any grouping keys, // it should return primitive values for NullLDatum. if (groupingKeyNum == 0 && aggFunctionsNum > 0 && hashTable.entrySet().size() == 0) { FunctionContext[] contexts = new FunctionContext[aggFunctionsNum]; for(int i = 0; i < aggFunctionsNum; i++) { contexts[i] = aggFunctions.get(i).newContext(); } hashTable.put(null, contexts); } }
public void compute(Tuple tuple) throws IOException { KeyTuple outerKeyTuple = outerKeyProjector.project(tuple); TupleMap<FunctionContext[]> distinctEntry = hashTable.get(outerKeyTuple); if (distinctEntry == null) { distinctEntry = new TupleMap<>(); hashTable.put(outerKeyTuple, distinctEntry); } KeyTuple innerKeyTuple = innerKeyProjector.project(tuple); FunctionContext[] contexts = distinctEntry.get(innerKeyTuple); if (contexts != null) { for (int i = 0; i < aggFunctions.length; i++) { aggFunctions[i].merge(contexts[i], tuple); } } else { // if the key occurs firstly contexts = new FunctionContext[aggFunctionsNum]; for (int i = 0; i < aggFunctionsNum; i++) { contexts[i] = aggFunctions[i].newContext(); aggFunctions[i].merge(contexts[i], tuple); } distinctEntry.put(innerKeyTuple, contexts); } }
private void compute() throws IOException { Tuple tuple; KeyTuple keyTuple; while(!context.isStopped() && (tuple = child.next()) != null) { keyTuple = hashKeyProjector.project(tuple); FunctionContext [] contexts = hashTable.get(keyTuple); if(contexts != null) { for(int i = 0; i < aggFunctions.length; i++) { aggFunctions[i].merge(contexts[i], tuple); } } else { // if the key occurs firstly contexts = new FunctionContext[aggFunctionsNum]; for(int i = 0; i < aggFunctionsNum; i++) { contexts[i] = aggFunctions[i].newContext(); aggFunctions[i].merge(contexts[i], tuple); } hashTable.put(keyTuple, contexts); } } // If HashAggregateExec received NullDatum and didn't has any grouping keys, // it should return primitive values for NullLDatum. if (groupingKeyNum == 0 && aggFunctionsNum > 0 && hashTable.entrySet().size() == 0) { FunctionContext[] contexts = new FunctionContext[aggFunctionsNum]; for(int i = 0; i < aggFunctionsNum; i++) { contexts[i] = aggFunctions[i].newContext(); } hashTable.put(null, contexts); } }