public static MeasureAggregator<?> create(String funcName, DataType dataType) { return MeasureTypeFactory.create(funcName, dataType).newAggregator(); }
private void reInitMeasureType() { if (isDimensionAsMetric && isCountDistinct()) { // create DimCountDis measureType = MeasureTypeFactory.createNoRewriteFieldsMeasureType(getExpression(), getReturnDataType()); returnDataType = DataType.getType("dim_dc"); } else { measureType = MeasureTypeFactory.create(getExpression(), getReturnDataType()); } }
public static MeasureType<?> create(String funcName, String dataType) { return create(funcName, DataType.getType(dataType)); }
private void reInitMeasureType() { if (isDimensionAsMetric && isCountDistinct()) { // create DimCountDis measureType = MeasureTypeFactory.createNoRewriteFieldsMeasureType(getExpression(), getReturnDataType()); returnDataType = DataType.getType("dim_dc"); } else { measureType = MeasureTypeFactory.create(getExpression(), getReturnDataType()); } }
@BeforeClass public static void setUp() throws Exception { staticCreateTestMetadata(); measureType = (MeasureType<ByteArray>) MeasureTypeFactory.create("EXTENDED_COLUMN", "extendedcolumn(20)"); }
@Test public void test() { CubeDesc desc = CubeDescManager.getInstance(getTestConfig()).getCubeDesc("test_kylin_cube_without_slr_left_join_desc"); MeasureDesc topSellerMeasure = null; for (MeasureDesc measureDesc : desc.getMeasures()) { if (measureDesc.getName().equals("TOP_SELLER")) { topSellerMeasure = measureDesc; break; } } TopNMeasureType measureType = (TopNMeasureType) MeasureTypeFactory.create(topSellerMeasure.getFunction().getExpression(), topSellerMeasure.getFunction().getReturnDataType()); topSellerMeasure.getFunction().getConfiguration().clear(); List<TblColRef> colsNeedDict = measureType.getColumnsNeedDictionary(topSellerMeasure.getFunction()); assertTrue(colsNeedDict != null && colsNeedDict.size() == 1); TblColRef sellerColRef = topSellerMeasure.getFunction().getParameter().getColRefs().get(1); topSellerMeasure.getFunction().getConfiguration().put(TopNMeasureType.CONFIG_ENCODING_PREFIX + sellerColRef.getIdentity(), "int:6"); colsNeedDict = measureType.getColumnsNeedDictionary(topSellerMeasure.getFunction()); assertTrue(colsNeedDict.size() == 0); } }
@Test public void testIngest() { MeasureType<HLLCounter> mtype = (MeasureType<HLLCounter>) MeasureTypeFactory.create(HLLCMeasureType.FUNC_COUNT_DISTINCT, DataType.getType("hllc(10)")); MeasureIngester<HLLCounter> ingester = mtype.newIngester(); HLLCounter hllc; hllc = ingester.valueOf(new String[] { null }, null, null); assertEquals(0, hllc.getCountEstimate()); hllc = ingester.valueOf(new String[] { null, null }, null, null); assertEquals(0, hllc.getCountEstimate()); hllc = ingester.valueOf(new String[] { "" }, null, null); assertEquals(1, hllc.getCountEstimate()); hllc = ingester.valueOf(new String[] { "", null }, null, null); assertEquals(1, hllc.getCountEstimate()); hllc = ingester.valueOf(new String[] { "abc" }, null, null); assertEquals(1, hllc.getCountEstimate()); } }
public static MeasureType<?> create(String funcName, String dataType) { return create(funcName, DataType.getType(dataType)); }
public static MeasureType<?> create(String funcName, String dataType) { return create(funcName, DataType.getInstance(dataType)); }
public static MeasureAggregator<?> create(String funcName, DataType dataType) { return MeasureTypeFactory.create(funcName, dataType).newAggregator(); }
public static MeasureAggregator<?> create(String funcName, DataType dataType) { return MeasureTypeFactory.create(funcName, dataType).newAggregator(); }
public MeasureType<?> getMeasureType() { if (isDimensionAsMetric) return null; if (measureType == null) { measureType = MeasureTypeFactory.create(getExpression(), getReturnDataType()); } return measureType; }