@Override public TableRow apply(Row input) { return toTableRow(input); } }
List<TableRow> tableRows = new ArrayList<>(rows.size()); for (int j = 0; j < rows.size(); j++) { tableRows.add(toTableRow(rows.get(j))); value = toTableRow((Row) value); break; case DATETIME:
@Override public POutput buildIOWriter(PCollection<Row> input) { return input.apply( BigQueryIO.<Row>write() .withSchema(BigQueryUtils.toTableSchema(getSchema())) .withFormatFunction(BigQueryUtils.toTableRow()) .to(tableSpec)); }
@Test public void testToTableRow_array() { TableRow row = toTableRow().apply(ARRAY_ROW); assertThat(row, hasEntry("ids", Arrays.asList(123L, 124L))); assertThat(row.size(), equalTo(1)); }
@Test public void testToTableRow_array_row() { TableRow row = toTableRow().apply(ARRAY_ROW_ROW); assertThat(row.size(), equalTo(1)); row = ((List<TableRow>) row.get("rows")).get(0); assertThat(row.size(), equalTo(5)); assertThat(row, hasEntry("id", 123L)); assertThat(row, hasEntry("value", 123.456)); assertThat(row, hasEntry("name", "test")); assertThat(row, hasEntry("valid", false)); }
@Test public void testToTableRow_row() { TableRow row = toTableRow().apply(ROW_ROW); assertThat(row.size(), equalTo(1)); row = (TableRow) row.get("row"); assertThat(row.size(), equalTo(5)); assertThat(row, hasEntry("id", 123L)); assertThat(row, hasEntry("value", 123.456)); assertThat(row, hasEntry("name", "test")); assertThat(row, hasEntry("valid", false)); }
@Test public void testToTableRow_flat() { TableRow row = toTableRow().apply(FLAT_ROW); assertThat(row.size(), equalTo(5)); assertThat(row, hasEntry("id", 123L)); assertThat(row, hasEntry("value", 123.456)); assertThat(row, hasEntry("name", "test")); assertThat(row, hasEntry("valid", false)); }
@Test public void testToTableRow_null_row() { TableRow row = toTableRow().apply(NULL_FLAT_ROW); assertThat(row.size(), equalTo(5)); assertThat(row, hasEntry("id", null)); assertThat(row, hasEntry("value", null)); assertThat(row, hasEntry("name", null)); assertThat(row, hasEntry("timestamp", null)); assertThat(row, hasEntry("valid", null)); } }