@Override public GenericRow aggregateRecords(List<GenericRow> rows) { GenericRow resultRow = rows.get(0); for (int i = 1; i < rows.size(); i++) { GenericRow currentRow = rows.get(i); for (MetricFieldSpec metric : _schema.getMetricFieldSpecs()) { String metricName = metric.getName(); ValueAggregator aggregator = (_valueAggregatorMap == null) ? DEFAULT_AGGREGATOR_FUNCTION : _valueAggregatorMap.getOrDefault(metricName, DEFAULT_AGGREGATOR_FUNCTION); Object aggregatedResult = aggregator.aggregate(resultRow.getValue(metricName), currentRow.getValue(metricName), metric); resultRow.putField(metricName, aggregatedResult); } } return resultRow; } }
_metricNames.add(metricFieldSpec.getName()); _metricSize += metricFieldSpec.getFieldSize();
LOGGER.info("Columns to convert are not specified, check each metric column"); for (MetricFieldSpec metricFieldSpec : schema.getMetricFieldSpecs()) { if (_originalSegmentMetadata.hasDictionary(metricFieldSpec.getName()) && shouldConvertColumn(metricFieldSpec)) { columnsToConvert.add(metricFieldSpec);
String column = metricFieldSpec.getName(); if (metricFieldSpec.isDerivedMetric()) { assert metricFieldSpec.getDerivedMetricType() == MetricFieldSpec.DerivedMetricType.HLL;
private static void printSchema(Schema schema) { LOGGER.info("schemaName: {}", schema.getSchemaName()); LOGGER.info("Dimension columnNames: "); int i = 0; for (DimensionFieldSpec spec : schema.getDimensionFieldSpecs()) { String columnInfo = i + " " + spec.getName(); if (!spec.isSingleValueField()) { LOGGER.info(columnInfo + " Multi-Value."); } else { LOGGER.info(columnInfo); } i += 1; } LOGGER.info("Metric columnNames: "); i = 0; for (MetricFieldSpec spec : schema.getMetricFieldSpecs()) { String columnInfo = i + " " + spec.getName(); if (!spec.isSingleValueField()) { LOGGER.info(columnInfo + " Multi-Value."); } else { LOGGER.info(columnInfo); } i += 1; } LOGGER.info("Time column: {}", schema.getTimeColumnName()); }
Assert.assertNotNull(metricFieldSpec); Assert.assertEquals(metricFieldSpec.getFieldType(), FieldSpec.FieldType.METRIC); Assert.assertEquals(metricFieldSpec.getName(), "metric"); Assert.assertEquals(metricFieldSpec.getDataType(), FieldSpec.DataType.INT); Assert.assertEquals(metricFieldSpec.isSingleValueField(), true); Assert.assertNotNull(metricFieldSpec); Assert.assertEquals(metricFieldSpec.getFieldType(), FieldSpec.FieldType.METRIC); Assert.assertEquals(metricFieldSpec.getName(), "metricWithDefault"); Assert.assertEquals(metricFieldSpec.getDataType(), FieldSpec.DataType.INT); Assert.assertEquals(metricFieldSpec.isSingleValueField(), true); Assert.assertNotNull(metricFieldSpec); Assert.assertEquals(metricFieldSpec.getFieldType(), FieldSpec.FieldType.METRIC); Assert.assertEquals(metricFieldSpec.getName(), "derivedMetric"); Assert.assertEquals(metricFieldSpec.getDataType(), FieldSpec.DataType.STRING); Assert.assertEquals(metricFieldSpec.isSingleValueField(), true); Assert.assertNotNull(metricFieldSpec); Assert.assertEquals(metricFieldSpec.getFieldType(), FieldSpec.FieldType.METRIC); Assert.assertEquals(metricFieldSpec.getName(), "derivedMetricWithDefault"); Assert.assertEquals(metricFieldSpec.getDataType(), FieldSpec.DataType.STRING); Assert.assertEquals(metricFieldSpec.isSingleValueField(), true);
String metName = schema.getMetricFieldSpecs().get(i).getName(); map.put(metName, RANDOM.nextInt(METRIC_MAX_VALUE));
String metName = schema.getMetricFieldSpecs().get(i).getName(); map.put(metName, 1);
String metName = schema.getMetricFieldSpecs().get(i).getName(); map.put(metName, 1);