@Override public Number getMetric(String metric) { return Rows.objectToNumber(metric, event.get(metric)); }
@Override public void serialize(ByteArrayDataOutput out, Object value) { List<String> values = Rows.objectToStrings(value); try { writeStringArray(values, out); } catch (IOException ioe) { throw new RuntimeException(ioe); } }
@VisibleForTesting List<Object> getGroupKey(final long timestamp, final InputRow inputRow) { if (partitionDimensions.isEmpty()) { return Rows.toGroupKey(timestamp, inputRow); } else { return Lists.transform(partitionDimensions, inputRow::getDimension); } }
String metricValueString = StringUtils.removeChar(((String) inputValue).trim(), ','); metricValueString = trimLeadingPlusOfLongString(metricValueString); Long v = Longs.tryParse(metricValueString);
String metricValueString = StringUtils.removeChar(((String) inputValue).trim(), ','); metricValueString = trimLeadingPlusOfLongString(metricValueString); Long v = Longs.tryParse(metricValueString);
@Override public long getTimestampFromEpoch() { final RowFunction transform = transforms.get(ColumnHolder.TIME_COLUMN_NAME); if (transform != null) { return Rows.objectToNumber(ColumnHolder.TIME_COLUMN_NAME, transform.eval(row)).longValue(); } else { return row.getTimestampFromEpoch(); } }
@Override public List<String> getDimension(String dimension) { return Rows.objectToStrings(event.get(dimension)); }
@Override protected void innerMap( InputRow inputRow, Context context ) throws IOException, InterruptedException { final List<Object> groupKey = Rows.toGroupKey( rollupGranularity.bucketStart(inputRow.getTimestamp()).getMillis(), inputRow ); context.write( new BytesWritable(HadoopDruidIndexerConfig.JSON_MAPPER.writeValueAsBytes(groupKey)), NullWritable.get() ); context.getCounter(HadoopDruidIndexerConfig.IndexJobCounters.ROWS_PROCESSED_COUNTER).increment(1); } }
@Override public Number getMetric(final String metric) { final RowFunction transform = transforms.get(metric); if (transform != null) { return Rows.objectToNumber(metric, transform.eval(row)); } else { return row.getMetric(metric); } }
@Override public List<String> getDimension(final String dimension) { final RowFunction transform = transforms.get(dimension); if (transform != null) { return Rows.objectToStrings(transform.eval(row)); } else { return row.getDimension(dimension); } }
final List<Object> groupKey = Rows.toGroupKey( rollupGranularity.bucketStart(inputRow.getTimestamp()).getMillis(), inputRow
@Override public ApproximateHistogram extractValue(InputRow inputRow, String metricName) { Object rawValue = inputRow.getRaw(metricName); if (rawValue == null) { return new ApproximateHistogram(0); } else if (rawValue instanceof ApproximateHistogram) { return (ApproximateHistogram) rawValue; } else { ApproximateHistogram h = new ApproximateHistogram(); if (rawValue instanceof Collection) { for (final Object next : ((Collection) rawValue)) { if (next != null) { h.offer(Rows.objectToNumber(metricName, next).floatValue()); } } } else { h.offer(Rows.objectToNumber(metricName, rawValue).floatValue()); } return h; } } };
@Override public List<String> getDimension(String dimension) { return Rows.objectToStrings(event.get(dimension)); }
final byte[] hashedDimensions = hashFunction.hashBytes( HadoopDruidIndexerConfig.JSON_MAPPER.writeValueAsBytes( Rows.toGroupKey( truncatedTimestamp, inputRow
Number numberAttempt; try { numberAttempt = Rows.objectToNumber(metricName, rawValue); FixedBucketsHistogram fbh = new FixedBucketsHistogram( aggregatorFactory.getLowerLimit(),
@Override public void serialize(ByteArrayDataOutput out, Object value) { List<String> values = Rows.objectToStrings(value); try { writeStringArray(values, out); } catch (IOException ioe) { throw new RuntimeException(ioe); } }
List<Object> groupKey = Rows.toGroupKey( queryGranularity.bucketStart(inputRow.getTimestamp()).getMillis(), inputRow
@Override public Number getMetric(String metric) { return Rows.objectToNumber(metric, event.get(metric)); }
@Override public List<String> getDimension(final String dimension) { final RowFunction transform = transforms.get(dimension); if (transform != null) { return Rows.objectToStrings(transform.eval(row)); } else { return row.getDimension(dimension); } }
List<Object> getGroupKey(final long timestamp, final InputRow inputRow) { if (partitionDimensions.isEmpty()) { return Rows.toGroupKey(timestamp, inputRow); } else { return Lists.transform( partitionDimensions, dim -> inputRow.getDimension(dim) ); } }