Skip to content

Instantly share code, notes, and snippets.

@bijukunjummen
Last active October 29, 2022 21:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bijukunjummen/69225aefa96b25b329734bbf00f8e15b to your computer and use it in GitHub Desktop.
Save bijukunjummen/69225aefa96b25b329734bbf00f8e15b to your computer and use it in GitHub Desktop.
import com.google.cloud.bigtable.data.v2.BigtableDataClient;
import com.google.cloud.bigtable.data.v2.BigtableDataSettings;
import com.google.cloud.bigtable.data.v2.models.Mutation;
import com.google.cloud.bigtable.data.v2.models.Row;
import com.google.cloud.bigtable.data.v2.models.RowCell;
import static com.google.cloud.bigtable.data.v2.models.Filters.FILTERS;
...
void getALargeRow() throws Exception {
BigtableDataSettings.Builder settingsBuilder = BigtableDataSettings.newBuilder()
.setProjectId("...")
.setInstanceId("...");
BigtableDataClient bigtableClient = BigtableDataClient
.create(settingsBuilder.build());
var key = "mytestkey";
Row row = bigtableClient.readRow("chat_messages", key, FILTERS.chain().filter(FILTERS.value().strip()));
for (RowCell cellMetaData: row.getCells()) {
Filters.Filter cellFilter = FILTERS.chain()
// .filter(FILTERS.value().strip())
.filter(FILTERS.family().exactMatch(cellMetaData.getFamily()))
.filter(FILTERS.qualifier().exactMatch(cellMetaData.getQualifier()));
Row cellData = bigtableClient.readRow("chat_messages", key, cellFilter);
for (RowCell cell : cellData.getCells()) {
System.out.println(cell.getFamily() + ":" + cell.getQualifier().toStringUtf8());
}
}
}
// private Filters.ChainFilter getOffsetFilter(int offset) {
// if (offset == 0) {
// return FILTERS.chain()
// .filter(FILTERS.limit().cellsPerRow(1));
// } else {
// return FILTERS.chain()
// .filter(FILTERS.offset().cellsPerRow(offset))
// .filter(FILTERS.limit().cellsPerRow(1));
// }
// }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment