Print filters (HBase)
Stay organized with collections
Save and categorize content based on your preferences.
Prints filters.
Code sample
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],[],[[["\u003cp\u003eThis content demonstrates how to use filters within the Bigtable client library in Java to refine data retrieval.\u003c/p\u003e\n"],["\u003cp\u003eThe code sample showcases the application of various filters, including \u003ccode\u003eBinaryComparator\u003c/code\u003e, \u003ccode\u003eColumnCountGetFilter\u003c/code\u003e, \u003ccode\u003eColumnPaginationFilter\u003c/code\u003e, \u003ccode\u003eColumnRangeFilter\u003c/code\u003e, \u003ccode\u003eFamilyFilter\u003c/code\u003e, \u003ccode\u003eQualifierFilter\u003c/code\u003e, \u003ccode\u003eRandomRowFilter\u003c/code\u003e, \u003ccode\u003eRegexStringComparator\u003c/code\u003e, \u003ccode\u003eRowFilter\u003c/code\u003e, \u003ccode\u003eSkipFilter\u003c/code\u003e, and \u003ccode\u003eValueFilter\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe example outlines how to set up a connection to Bigtable, create a scan object, and apply filters to the scan to read and print filtered results from a specified table.\u003c/p\u003e\n"],["\u003cp\u003eThe provided code includes a method to read data with applied filters and a helper method to print the contents of a row retrieved by the filter.\u003c/p\u003e\n"]]],[],null,["Prints filters.\n\nCode sample \n\nJava\n\n\nTo learn how to install and use the client library for Bigtable, see\n[Bigtable client libraries](/bigtable/docs/reference/libraries).\n\n\nTo authenticate to Bigtable, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n\n import com.google.cloud.bigtable.hbase.BigtableConfiguration;\n import java.io.IOException;\n import java.time.Instant;\n import java.time.temporal.ChronoUnit;\n import org.apache.hadoop.hbase.Cell;\n import org.apache.hadoop.hbase.TableName;\n import org.apache.hadoop.hbase.client.Connection;\n import org.apache.hadoop.hbase.client.Result;\n import org.apache.hadoop.hbase.client.ResultScanner;\n import org.apache.hadoop.hbase.client.Scan;\n import org.apache.hadoop.hbase.client.Table;\n import org.apache.hadoop.hbase.filter.BinaryComparator;\n import org.apache.hadoop.hbase.filter.ColumnCountGetFilter;\n import org.apache.hadoop.hbase.filter.ColumnPaginationFilter;\n import org.apache.hadoop.hbase.filter.ColumnRangeFilter;\n import org.apache.hadoop.hbase.filter.CompareFilter;\n import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;\n import org.apache.hadoop.hbase.filter.FamilyFilter;\n import org.apache.hadoop.hbase.filter.Filter;\n import org.apache.hadoop.hbase.filter.FilterList;\n import org.apache.hadoop.hbase.filter.FilterList.Operator;\n import org.apache.hadoop.hbase.filter.QualifierFilter;\n import org.apache.hadoop.hbase.filter.RandomRowFilter;\n import org.apache.hadoop.hbase.filter.RegexStringComparator;\n import org.apache.hadoop.hbase.filter.RowFilter;\n import org.apache.hadoop.hbase.filter.SkipFilter;\n import org.apache.hadoop.hbase.filter.ValueFilter;\n import org.apache.hadoop.hbase.util.Bytes;\n\n public class Filters {\n\n // Write your code here.\n // ...\n\n public static void readWithFilter(\n String projectId, String instanceId, String tableId, Scan scan) {\n // Initialize client that will be used to send requests. This client only needs to be created\n // once, and can be reused for multiple requests. After completing all of your requests, call\n // the \"close\" method on the client to safely clean up any remaining background resources.\n try (Connection connection = BigtableConfiguration.connect(projectId, instanceId)) {\n Table table = connection.getTable(TableName.valueOf(tableId));\n\n ResultScanner rows = table.getScanner(scan);\n\n for (Result row : rows) {\n printRow(row);\n }\n } catch (IOException e) {\n System.out.println(\n \"Unable to initialize service client, as a network error occurred: \\n\" + e.toString());\n }\n }\n\n private static void printRow(Result row) {\n System.out.printf(\"Reading data for %s%n\", Bytes.toString(row.rawCells()[0].getRowArray()));\n String colFamily = \"\";\n for (Cell cell : row.rawCells()) {\n String currentFamily = Bytes.toString(cell.getFamilyArray());\n if (!currentFamily.equals(colFamily)) {\n colFamily = currentFamily;\n System.out.printf(\"Column Family %s%n\", colFamily);\n }\n System.out.printf(\n \"\\t%s: %s @%s%n\",\n Bytes.toString(cell.getQualifierArray()),\n Bytes.toString(cell.getValueArray()),\n cell.getTimestamp());\n }\n System.out.println();\n }\n }\n\nWhat's next\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=bigtable)."]]