Neil Teng
06/18/2021, 3:06 PMMayank
private String handleApproxDistinct(CallExpression aggregation, Map<VariableReferenceExpression, Selection> inputSelections)
{
List<RowExpression> inputs = aggregation.getArguments();
if (inputs.isEmpty() || inputs.size() > 2) {
throw new PinotException(PINOT_UNSUPPORTED_EXPRESSION, Optional.empty(), "Cannot handle approx_distinct function " + aggregation);
}
Selection selection = inputSelections.get(getVariableReference(inputs.get(0)));
if (inputs.size() == 1) {
return format("DISTINCTCOUNTHLL(%s)", selection);
}
RowExpression standardErrorInput = inputs.get(1);
String standardErrorString;
if (standardErrorInput instanceof ConstantExpression) {
standardErrorString = getLiteralAsString((ConstantExpression) standardErrorInput);
}
Mayank
Mayank
explain
the query on presto side? It might show the query being sent to Pinot, where you can verify if it sent DistinctCountHLL to PinotXiang Fu
Xiang Fu
Mayank
Mayank
Xiang Fu
Neil Teng
06/18/2021, 6:02 PMNeil Teng
06/18/2021, 6:07 PMNeil Teng
06/18/2021, 6:32 PM