Filter on a range of columns
bookmark_borderbookmark
Stay organized with collections
Save and categorize content based on your preferences.
Creates a limiting filter on a range of columns.
Explore further
For detailed documentation that includes this code sample, see the following:
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 page details how to implement a column range filter in Bigtable across multiple languages.\u003c/p\u003e\n"],["\u003cp\u003eThe filter limits the results to cells with column qualifiers between "data_plan_01gb" and "data_plan_10gb" within the "cell_plan" family.\u003c/p\u003e\n"],["\u003cp\u003eCode samples are provided in C++, C#, Go, Java, Node.js, PHP, Python, and Ruby, demonstrating the filter implementation.\u003c/p\u003e\n"],["\u003cp\u003eAuthentication setup and client library installation are referenced for each language, directing users to relevant documentation.\u003c/p\u003e\n"],["\u003cp\u003eThis page is showing how to create a filter to target a specific column range, and then print the results.\u003c/p\u003e\n"]]],[],null,["# Filter on a range of columns\n\nCreates a limiting filter on a range of columns.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Use filters](/bigtable/docs/using-filters)\n\nCode sample\n-----------\n\n### C++\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 namespace cbt = ::google::cloud::bigtable;\n using ::google::cloud::StatusOr;\n [](cbt::Table table) {\n cbt::Filter filter = cbt::Filter::ColumnRange(\"cell_plan\", \"data_plan_01gb\",\n \"data_plan_10gb\");\n // Read and print the rows.\n for (StatusOr\u003ccbt::Row\u003e& row :\n table.ReadRows(cbt::RowSet(cbt::RowRange::InfiniteRange()), filter)) {\n if (!row) throw std::move(row).status();\n std::cout \u003c\u003c row-\u003erow_key() \u003c\u003c \" = \";\n for (auto const& cell : row-\u003ecells()) {\n std::cout \u003c\u003c \"[\" \u003c\u003c cell.family_name() \u003c\u003c \", \"\n \u003c\u003c cell.column_qualifier() \u003c\u003c \", \" \u003c\u003c cell.value() \u003c\u003c \"],\";\n }\n std::cout \u003c\u003c \"\\n\";\n }\n }\n\n### C#\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 /// \u003csummary\u003e\n /// /// Read using a qualifer range filter from an existing table.\n ///\u003c/summary\u003e\n /// \u003cparam name=\"projectId\"\u003eYour Google Cloud Project ID.\u003c/param\u003e\n /// \u003cparam name=\"instanceId\"\u003eYour Google Cloud Bigtable Instance ID.\u003c/param\u003e\n /// \u003cparam name=\"tableId\"\u003eYour Google Cloud Bigtable table ID.\u003c/param\u003e\n\n public Task\u003cstring\u003e FilterLimitColRange(string projectId = \"YOUR-PROJECT-ID\", string instanceId = \"YOUR-INSTANCE-ID\", string tableId = \"YOUR-TABLE-ID\")\n {\n // A filter that matches cells whose column qualifiers are between data_plan_01gb and\n // data_plan_10gb in the column family cell_plan\n RowFilter filter = RowFilters.ColumnRange(ColumnRange.ClosedOpen(\"cell_plan\", \"data_plan_01gb\", \"data_plan_10gb\"));\n return ReadFilter(projectId, instanceId, tableId, filter);\n }\n\n### Go\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 func filterLimitColRange(w io.Writer, projectID, instanceID string, tableName string) error {\n \tfilter := bigtable.ColumnRangeFilter(\"cell_plan\", \"data_plan_01gb\", \"data_plan_10gb\")\n \treturn readWithFilter(w, projectID, instanceID, tableName, filter)\n }\n\n### Java\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 public static void filterLimitColRange() {\n // TODO(developer): Replace these variables before running the sample.\n String projectId = \"my-project-id\";\n String instanceId = \"my-instance-id\";\n String tableId = \"mobile-time-series\";\n filterLimitColRange(projectId, instanceId, tableId);\n }\n\n public static void filterLimitColRange(String projectId, String instanceId, String tableId) {\n // A filter that matches cells whose column qualifiers are between data_plan_01gb and\n // data_plan_10gb in the column family cell_plan\n Filter filter =\n FILTERS\n .qualifier()\n .rangeWithinFamily(\"cell_plan\")\n .startClosed(\"data_plan_01gb\")\n .endOpen(\"data_plan_10gb\");\n readFilter(projectId, instanceId, tableId, filter);\n }\n\n### Node.js\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 const filter = {\n column: {\n family: 'cell_plan',\n start: 'data_plan_01gb',\n end: {\n value: 'data_plan_10gb',\n inclusive: false,\n },\n },\n };\n readWithFilter(filter);\n\n### PHP\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 use Google\\Cloud\\Bigtable\\BigtableClient;\n use Google\\Cloud\\Bigtable\\Filter;\n\n /**\n * Create a limiting filter on a range of columns\n *\n * @param string $projectId The Google Cloud project ID\n * @param string $instanceId The ID of the Bigtable instance\n * @param string $tableId The ID of the table to read from\n */\n function filter_limit_col_range(\n string $projectId,\n string $instanceId,\n string $tableId\n ): void {\n // Connect to an existing table with an existing instance.\n $dataClient = new BigtableClient([\n 'projectId' =\u003e $projectId,\n ]);\n $table = $dataClient-\u003etable($instanceId, $tableId);\n\n $filter = Filter::qualifier()\n -\u003erangeWithinFamily('cell_plan')\n -\u003estartClosed('data_plan_01gb')\n -\u003eendOpen('data_plan_10gb');\n\n $rows = $table-\u003ereadRows([\n 'filter' =\u003e $filter\n ]);\n\n foreach ($rows as $key =\u003e $row) {\n // The \"print_row\" helper function is defined in https://cloud.google.com/bigtable/docs/samples/bigtable-reads-print\n print_row($key, $row);\n }\n }\n\n### Python\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 def filter_limit_col_range(project_id, instance_id, table_id):\n from google.cloud import https://cloud.google.com/python/docs/reference/bigtable/latest/\n from google.cloud.bigtable import row_filters\n\n client = https://cloud.google.com/python/docs/reference/bigtable/latest/.https://cloud.google.com/python/docs/reference/bigtable/latest/google.cloud.bigtable.client.Client.html(project=project_id, admin=True)\n instance = https://cloud.google.com/python/docs/reference/bigtable/latest/google.cloud.bigtable.client.html.https://cloud.google.com/python/docs/reference/bigtable/latest/google.cloud.bigtable.client.Client.html#google_cloud_bigtable_client_Client_instance(instance_id)\n table = instance.table(table_id)\n\n rows = table.read_rows(\n filter_=row_filters.ColumnRangeFilter(\n \"cell_plan\", b\"data_plan_01gb\", b\"data_plan_10gb\", inclusive_end=False\n )\n )\n for row in rows:\n print_row(row)\n\n### Ruby\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 # instance_id = \"my-instance\"\n # table_id = \"my-table\"\n range = Google::Cloud::Bigtable::ColumnRange.new(\"cell_plan\").from(\"data_plan_01gb\").to(\"data_plan_10gb\")\n filter = Google::Cloud::Bigtable::RowFilter.column_range range\n read_with_filter instance_id, table_id, filter\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=bigtable)."]]