use of com.google.cloud.teleport.bigtable.BigtableToParquet.BigtableToParquetFn in project DataflowTemplates by GoogleCloudPlatform.
the class BigtableToParquetTest method applyBigtableToParquetFn.
@Test
public void applyBigtableToParquetFn() throws Exception {
Row row = createBigtableRow("row1");
row = upsertBigtableCell(row, "family1", "column1", 1, "value1");
GenericRecord parquetRecord = new GenericData.Record(BigtableRow.getClassSchema());
byte[] rowKey = "row1".getBytes();
ByteBuffer key = ByteBuffer.wrap(rowKey);
List<BigtableCell> cells = new ArrayList<>();
String family = "family1";
byte[] cellQualifier = "column1".getBytes();
ByteBuffer qualifier = ByteBuffer.wrap(cellQualifier);
Long timestamp = 1L;
byte[] cellValue = "value1".getBytes();
ByteBuffer value = ByteBuffer.wrap(cellValue);
cells.add(new BigtableCell(family, qualifier, timestamp, value));
parquetRecord.put("key", key);
parquetRecord.put("cells", cells);
PCollection<GenericRecord> parquetRows = pipeline.apply("Create", Create.of(row)).apply("Transform to Parquet", MapElements.via(new BigtableToParquetFn())).setCoder(AvroCoder.of(GenericRecord.class, BigtableRow.getClassSchema()));
// Assert on the parquetRows.
PAssert.that(parquetRows).containsInAnyOrder(parquetRecord);
pipeline.run();
}
Aggregations