Search in sources :

Example 1 with MyStruct

use of org.apache.beam.examples.snippets.transforms.io.gcp.bigquery.BigQueryMyData.MyStruct in project beam by apache.

the class BigQuerySamplesIT method fieldValueListToStrings.

private static List<String> fieldValueListToStrings(FieldValueList row) {
    MyData data = new MyData();
    data.myString = row.get("string_field").getStringValue();
    data.myInt64 = row.get("int64_field").getLongValue();
    data.myFloat64 = row.get("float64_field").getDoubleValue();
    data.myNumeric = new BigDecimal(row.get("numeric_field").getDoubleValue());
    data.myBoolean = row.get("bool_field").getBooleanValue();
    data.myBytes = Base64.getDecoder().decode(row.get("bytes_field").getStringValue());
    data.myDate = LocalDate.parse(row.get("date_field").getStringValue()).toString();
    data.myDateTime = LocalDateTime.parse(row.get("datetime_field").getStringValue()).toString();
    data.myTime = LocalTime.parse(row.get("time_field").getStringValue()).toString();
    data.myTimestamp = Instant.ofEpochMilli((long) (Double.parseDouble(row.get("timestamp_field").getStringValue()) * 1000.0)).toString();
    data.myGeography = row.get("geography_field").getStringValue();
    data.myArray = row.get("array_field").getRepeatedValue().stream().map(FieldValue::getLongValue).collect(Collectors.toList());
    FieldValueList structValues = row.get("struct_field").getRecordValue();
    data.myStruct = new MyStruct();
    data.myStruct.stringValue = structValues.get(0).getStringValue();
    data.myStruct.int64Value = structValues.get(1).getLongValue();
    return myDataToStrings(data);
}
Also used : MyStruct(org.apache.beam.examples.snippets.transforms.io.gcp.bigquery.BigQueryMyData.MyStruct) MyData(org.apache.beam.examples.snippets.transforms.io.gcp.bigquery.BigQueryMyData.MyData) FieldValueList(com.google.cloud.bigquery.FieldValueList) FieldValue(com.google.cloud.bigquery.FieldValue) BigDecimal(java.math.BigDecimal)

Aggregations

FieldValue (com.google.cloud.bigquery.FieldValue)1 FieldValueList (com.google.cloud.bigquery.FieldValueList)1 BigDecimal (java.math.BigDecimal)1 MyData (org.apache.beam.examples.snippets.transforms.io.gcp.bigquery.BigQueryMyData.MyData)1 MyStruct (org.apache.beam.examples.snippets.transforms.io.gcp.bigquery.BigQueryMyData.MyStruct)1