How to eradicate the slowness caused due to reading rows from bigtable with hbase client in google dataflow job?

24 views Asked by At

enter image description here

around ~4k records are processed on the step before reading cell data (data under column qualifier)from the big table.

As reading the cell data per element causes slowness in the pipeline, Is there any better way of reading column qualifier (cell) data from the big table?

below code is written in the last dofn():

Configuration config = BigtableConfiguration.configure(projectName, instanceName, appProfileId);
config.setInt("google.bigtable.grpc.channel.count", "10");
Connection bigTableConn = BigtableConfiguration.connect(config)
//Bigtable connection is injected in the dofn()
Table table = bigTableConn.getTable(TableName.valueOf(TABLE_NAME));
Result row = table.get(new Get(Bytes.toBytes(ROW_KEY)));
Cell cell = row.getColumnLatestCell(Bytes.toBytes("COLUMN_FAMILY_NAME"), Bytes.toBytes("QUALIFIER_NAME"));
//exact data from the cell
String exactValue = Bytes.toString(CellUtil.cloneValue(cell));

hbase jar version:

enter image description here

0

There are 0 answers