public static ParameterDesc newInstance(Object... objs) { if (objs.length == 0) throw new IllegalArgumentException(); ParameterDesc r = new ParameterDesc(); Object obj = objs[0]; if (obj instanceof TblColRef) { TblColRef col = (TblColRef) obj; r.type = FunctionDesc.PARAMETER_TYPE_COLUMN; r.value = col.getIdentity(); r.colRef = col; } else { r.type = FunctionDesc.PARAMETER_TYPE_CONSTANT; r.value = (String) obj; } if (objs.length >= 2) { r.nextParameter = newInstance(Arrays.copyOfRange(objs, 1, objs.length)); } return r; }
public static MeasureDesc getMeasureSum(String column, String dataType) { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue(column); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_COLUMN); FunctionDesc function = new FunctionDesc(); function.setExpression(FunctionDesc.FUNC_SUM); function.setParameter(parameterDesc); function.setReturnType(dataType.equals(HiveTableCreator.HiveTypeEnum.HDOUBLE.toString()) ? HiveTableCreator.HiveTypeEnum.HDECIMAL.toString() : dataType); MeasureDesc result = new MeasureDesc(); result.setName(column + "_SUM"); result.setFunction(function); return result; }
public static MeasureDesc getMeasureMax(String column, String dataType) { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue(column); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_COLUMN); FunctionDesc function = new FunctionDesc(); function.setExpression(FunctionDesc.FUNC_MAX); function.setParameter(parameterDesc); function.setReturnType(dataType); MeasureDesc result = new MeasureDesc(); result.setName(column + "_MAX"); result.setFunction(function); return result; }
public static MeasureDesc getMeasureMin(String column, String dataType) { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue(column); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_COLUMN); FunctionDesc function = new FunctionDesc(); function.setExpression(FunctionDesc.FUNC_MIN); function.setParameter(parameterDesc); function.setReturnType(dataType); MeasureDesc result = new MeasureDesc(); result.setName(column + "_MIN"); result.setFunction(function); return result; }
public static MeasureDesc getMeasureHLL(String column) { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue(column); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_COLUMN); FunctionDesc function = new FunctionDesc(); function.setExpression(FunctionDesc.FUNC_COUNT_DISTINCT); function.setParameter(parameterDesc); function.setReturnType("hllc12"); MeasureDesc result = new MeasureDesc(); result.setName(column + "_HLL"); result.setFunction(function); return result; }
public static MeasureDesc getMeasurePercentile(String column) { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue(column); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_COLUMN); FunctionDesc function = new FunctionDesc(); function.setExpression(PercentileMeasureType.FUNC_PERCENTILE); function.setParameter(parameterDesc); function.setReturnType("percentile(100)"); MeasureDesc result = new MeasureDesc(); result.setName(column + "_PERCENTILE"); result.setFunction(function); return result; } }
public static MeasureDesc getMeasureCount() { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue("1"); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_CONSTANT); FunctionDesc function = new FunctionDesc(); function.setExpression(FunctionDesc.FUNC_COUNT); function.setParameter(parameterDesc); function.setReturnType(HiveTableCreator.HiveTypeEnum.HBIGINT.toString()); MeasureDesc result = new MeasureDesc(); result.setName("_COUNT_"); result.setFunction(function); return result; }
private MeasureDesc makeCountMeasure() { MeasureDesc measureDesc = new MeasureDesc(); FunctionDesc f1 = new FunctionDesc(); f1.setExpression("COUNT"); ParameterDesc p1 = new ParameterDesc(); p1.setType("constant"); p1.setValue("1"); f1.setParameter(p1); f1.setReturnType("bigint"); measureDesc.setFunction(f1); return measureDesc; }
private MeasureDesc makeNormalMeasure(String func, ColumnDesc columnDesc) { String columnName = columnDesc.getName(); String returnType = columnDesc.getTypeName(); MeasureDesc measureDesc = new MeasureDesc(); FunctionDesc f1 = new FunctionDesc(); f1.setExpression(func); ParameterDesc p1 = new ParameterDesc(); p1.setType("column"); p1.setValue(columnName); p1.setColRefs(ImmutableList.of(new TblColRef(columnDesc))); f1.setParameter(p1); f1.setReturnType(returnType); measureDesc.setFunction(f1); return measureDesc; }
private List<FunctionDesc> buildAggregations() { List<FunctionDesc> functions = new ArrayList<FunctionDesc>(); FunctionDesc f1 = new FunctionDesc(); f1.setExpression("SUM"); ParameterDesc p1 = new ParameterDesc(); p1.setType("column"); p1.setValue("PRICE"); f1.setParameter(p1); functions.add(f1); FunctionDesc f2 = new FunctionDesc(); f2.setExpression("COUNT_DISTINCT"); ParameterDesc p2 = new ParameterDesc(); p2.setType("column"); p2.setValue("SELLER_ID"); f2.setParameter(p2); functions.add(f2); return functions; }
/** * * @param hllType represents the presision */ private MeasureDesc makeHLLMeasure(ColumnDesc columnDesc, String hllType) { String columnName = columnDesc.getName(); MeasureDesc measureDesc = new MeasureDesc(); FunctionDesc f1 = new FunctionDesc(); f1.setExpression("COUNT_DISTINCT"); ParameterDesc p1 = new ParameterDesc(); p1.setType("column"); p1.setValue(columnName); p1.setColRefs(ImmutableList.of(new TblColRef(columnDesc))); f1.setParameter(p1); f1.setReturnType(hllType); measureDesc.setFunction(f1); return measureDesc; }
private List<FunctionDesc> buildAggregations() { List<FunctionDesc> functions = new ArrayList<FunctionDesc>(); FunctionDesc f1 = new FunctionDesc(); f1.setExpression("SUM"); ParameterDesc p1 = new ParameterDesc(); p1.setType("column"); p1.setValue("PRICE"); f1.setParameter(p1); f1.setReturnType("decimal"); functions.add(f1); FunctionDesc f2 = new FunctionDesc(); f2.setExpression("MIN"); ParameterDesc p2 = new ParameterDesc(); p2.setType("column"); p2.setValue("PRICE"); f2.setParameter(p2); f2.setReturnType("decimal"); functions.add(f2); return functions; }
public static MeasureDesc getMeasureSum(String column, String dataType) { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue(column); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_COLUMN); FunctionDesc function = new FunctionDesc(); function.setExpression(FunctionDesc.FUNC_SUM); function.setParameter(parameterDesc); function.setReturnType(dataType.equals(HiveTableCreator.HiveTypeEnum.HDOUBLE.toString()) ? HiveTableCreator.HiveTypeEnum.HDECIMAL.toString() : dataType); MeasureDesc result = new MeasureDesc(); result.setName(column + "_SUM"); result.setFunction(function); return result; }
public static MeasureDesc getMeasurePercentile(String column) { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue(column); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_COLUMN); FunctionDesc function = new FunctionDesc(); function.setExpression(PercentileMeasureType.FUNC_PERCENTILE); function.setParameter(parameterDesc); function.setReturnType("percentile(100)"); MeasureDesc result = new MeasureDesc(); result.setName(column + "_PERCENTILE"); result.setFunction(function); return result; } }
public static MeasureDesc getMeasureMax(String column, String dataType) { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue(column); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_COLUMN); FunctionDesc function = new FunctionDesc(); function.setExpression(FunctionDesc.FUNC_MAX); function.setParameter(parameterDesc); function.setReturnType(dataType); MeasureDesc result = new MeasureDesc(); result.setName(column + "_MAX"); result.setFunction(function); return result; }
private MeasureDesc makeCountMeasure() { MeasureDesc measureDesc = new MeasureDesc(); FunctionDesc f1 = new FunctionDesc(); f1.setExpression("COUNT"); ParameterDesc p1 = new ParameterDesc(); p1.setType("constant"); p1.setValue("1"); f1.setParameter(p1); f1.setReturnType("bigint"); measureDesc.setFunction(f1); measureDesc.setName("COUNT_1"); return measureDesc; }
public static MeasureDesc getMeasureMin(String column, String dataType) { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue(column); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_COLUMN); FunctionDesc function = new FunctionDesc(); function.setExpression(FunctionDesc.FUNC_MIN); function.setParameter(parameterDesc); function.setReturnType(dataType); MeasureDesc result = new MeasureDesc(); result.setName(column + "_MIN"); result.setFunction(function); return result; }
public static MeasureDesc getMeasureHLL(String column) { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue(column); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_COLUMN); FunctionDesc function = new FunctionDesc(); function.setExpression(FunctionDesc.FUNC_COUNT_DISTINCT); function.setParameter(parameterDesc); function.setReturnType("hllc12"); MeasureDesc result = new MeasureDesc(); result.setName(column + "_HLL"); result.setFunction(function); return result; }
/** * * @param hllType represents the precision */ private MeasureDesc makeHLLMeasure(ColumnDesc columnDesc, String hllType) { String columnName = columnDesc.getName(); MeasureDesc measureDesc = new MeasureDesc(); FunctionDesc f1 = new FunctionDesc(); f1.setExpression("COUNT_DISTINCT"); ParameterDesc p1 = new ParameterDesc(); p1.setType("column"); p1.setValue(columnName); p1.setColRefs(ImmutableList.of(new TblColRef(columnDesc))); f1.setParameter(p1); f1.setReturnType(hllType); measureDesc.setFunction(f1); measureDesc.setName("COUNT_DISTINCT" + "_" + columnName); return measureDesc; }
public static MeasureDesc getMeasureCount() { ParameterDesc parameterDesc = new ParameterDesc(); parameterDesc.setValue("1"); parameterDesc.setType(FunctionDesc.PARAMETER_TYPE_CONSTANT); FunctionDesc function = new FunctionDesc(); function.setExpression(FunctionDesc.FUNC_COUNT); function.setParameter(parameterDesc); function.setReturnType(HiveTableCreator.HiveTypeEnum.HBIGINT.toString()); MeasureDesc result = new MeasureDesc(); result.setName("_COUNT_"); result.setFunction(function); return result; }