use of com.amazonaws.services.timestreamquery.model.Datum in project aws-athena-query-federation by awslabs.
the class TestUtils method buildTimeSeries.
private static void buildTimeSeries(Field field, Datum datum) {
List<TimeSeriesDataPoint> dataPoints = new ArrayList<>();
for (int i = 0; i < 10; i++) {
TimeSeriesDataPoint dataPoint = new TimeSeriesDataPoint();
Datum dataPointValue = new Datum();
dataPoint.setTime(TIMESTAMP_FORMATTER.format(new Date(System.currentTimeMillis() - RAND.nextInt(1_000_000))));
/**
* Presently we only support TimeSeries as LIST<STRUCT<DATEMILLISECONDS, DOUBLE|INT|FLOAT8|BIT|BIGINT>>
*/
Field struct = field.getChildren().get(0);
assertEquals(Types.MinorType.STRUCT, Types.getMinorTypeForArrowType(struct.getType()));
Field baseSeriesType = struct.getChildren().get(1);
switch(Types.getMinorTypeForArrowType(baseSeriesType.getType())) {
case FLOAT8:
dataPointValue.setScalarValue(String.valueOf(RAND.nextFloat()));
break;
case BIT:
dataPointValue.setScalarValue(String.valueOf(RAND.nextBoolean()));
break;
case INT:
dataPointValue.setScalarValue(String.valueOf(RAND.nextInt()));
break;
case BIGINT:
dataPointValue.setScalarValue(String.valueOf(RAND.nextLong()));
break;
}
dataPoint.setValue(dataPointValue);
dataPoints.add(dataPoint);
}
datum.setTimeSeriesValue(dataPoints);
}
Aggregations