Search in sources :

Example 1 with BigtableToParquetFn

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();
}
Also used : TestUtils.upsertBigtableCell(com.google.cloud.teleport.bigtable.TestUtils.upsertBigtableCell) ArrayList(java.util.ArrayList) GenericRecord(org.apache.avro.generic.GenericRecord) Row(com.google.bigtable.v2.Row) TestUtils.createBigtableRow(com.google.cloud.teleport.bigtable.TestUtils.createBigtableRow) GenericRecord(org.apache.avro.generic.GenericRecord) ByteBuffer(java.nio.ByteBuffer) BigtableToParquetFn(com.google.cloud.teleport.bigtable.BigtableToParquet.BigtableToParquetFn) Test(org.junit.Test)

Aggregations

Row (com.google.bigtable.v2.Row)1 BigtableToParquetFn (com.google.cloud.teleport.bigtable.BigtableToParquet.BigtableToParquetFn)1 TestUtils.createBigtableRow (com.google.cloud.teleport.bigtable.TestUtils.createBigtableRow)1 TestUtils.upsertBigtableCell (com.google.cloud.teleport.bigtable.TestUtils.upsertBigtableCell)1 ByteBuffer (java.nio.ByteBuffer)1 ArrayList (java.util.ArrayList)1 GenericRecord (org.apache.avro.generic.GenericRecord)1 Test (org.junit.Test)1