Search in sources :

Example 1 with ColumnInfo

use of com.amazonaws.services.timestreamquery.model.ColumnInfo in project amazon-timestream-tools by awslabs.

the class QueryExample method parseQueryResult.

private void parseQueryResult(QueryResult response) {
    List<ColumnInfo> columnInfo = response.getColumnInfo();
    List<Row> rows = response.getRows();
    System.out.println("Metadata: " + columnInfo);
    System.out.println("Data: ");
    // iterate every row
    for (Row row : rows) {
        System.out.println(parseRow(columnInfo, row));
    }
}
Also used : ColumnInfo(com.amazonaws.services.timestreamquery.model.ColumnInfo) Row(com.amazonaws.services.timestreamquery.model.Row)

Example 2 with ColumnInfo

use of com.amazonaws.services.timestreamquery.model.ColumnInfo in project amazon-timestream-tools by awslabs.

the class QueryExample method parseDatum.

private String parseDatum(ColumnInfo info, Datum datum) {
    if (datum.isNullValue() != null && datum.isNullValue()) {
        return info.getName() + "=" + "NULL";
    }
    Type columnType = info.getType();
    // If the column is of TimeSeries Type
    if (columnType.getTimeSeriesMeasureValueColumnInfo() != null) {
        return parseTimeSeries(info, datum);
    } else // If the column is of Array Type
    if (columnType.getArrayColumnInfo() != null) {
        List<Datum> arrayValues = datum.getArrayValue();
        return info.getName() + "=" + parseArray(info.getType().getArrayColumnInfo(), arrayValues);
    } else // If the column is of Row Type
    if (columnType.getRowColumnInfo() != null) {
        List<ColumnInfo> rowColumnInfo = info.getType().getRowColumnInfo();
        Row rowValues = datum.getRowValue();
        return parseRow(rowColumnInfo, rowValues);
    } else // If the column is of Scalar Type
    {
        return parseScalarType(info, datum);
    }
}
Also used : Type(com.amazonaws.services.timestreamquery.model.Type) ScalarType(com.amazonaws.services.timestreamquery.model.ScalarType) ColumnInfo(com.amazonaws.services.timestreamquery.model.ColumnInfo) ArrayList(java.util.ArrayList) List(java.util.List) Row(com.amazonaws.services.timestreamquery.model.Row)

Example 3 with ColumnInfo

use of com.amazonaws.services.timestreamquery.model.ColumnInfo in project amazon-timestream-tools by awslabs.

the class QueryExample method parseRow.

private String parseRow(List<ColumnInfo> columnInfo, Row row) {
    List<Datum> data = row.getData();
    List<String> rowOutput = new ArrayList<>();
    // iterate every column per row
    for (int j = 0; j < data.size(); j++) {
        ColumnInfo info = columnInfo.get(j);
        Datum datum = data.get(j);
        rowOutput.add(parseDatum(info, datum));
    }
    return String.format("{%s}", rowOutput.stream().map(Object::toString).collect(Collectors.joining(",")));
}
Also used : Datum(com.amazonaws.services.timestreamquery.model.Datum) ArrayList(java.util.ArrayList) ColumnInfo(com.amazonaws.services.timestreamquery.model.ColumnInfo) TimeSeriesDataPoint(com.amazonaws.services.timestreamquery.model.TimeSeriesDataPoint)

Aggregations

ColumnInfo (com.amazonaws.services.timestreamquery.model.ColumnInfo)3 Row (com.amazonaws.services.timestreamquery.model.Row)2 ArrayList (java.util.ArrayList)2 Datum (com.amazonaws.services.timestreamquery.model.Datum)1 ScalarType (com.amazonaws.services.timestreamquery.model.ScalarType)1 TimeSeriesDataPoint (com.amazonaws.services.timestreamquery.model.TimeSeriesDataPoint)1 Type (com.amazonaws.services.timestreamquery.model.Type)1 List (java.util.List)1