Limit cells per column
Stay organized with collections
Save and categorize content based on your preferences.
Creates a limiting filter on cells per column.
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 content demonstrates how to apply a filter that limits the number of cells returned per column in a Bigtable query.\u003c/p\u003e\n"],["\u003cp\u003eThe code examples provided showcase how to implement the "cells per column" filter, typically setting a limit of 2, across various programming languages like C++, C#, Go, Java, Node.js, PHP, Python, and Ruby.\u003c/p\u003e\n"],["\u003cp\u003eThe primary functionality is to limit the results to only the most recent or a specified number of cells in each column, thereby reducing the data retrieved.\u003c/p\u003e\n"],["\u003cp\u003eThe documentation includes links to Bigtable client libraries installation guides and authentication setup instructions for local development environments, ensuring a smooth setup process.\u003c/p\u003e\n"],["\u003cp\u003eThe code provided across the various languages all filter down the cells retrieved per column to a maximum of 2 cells.\u003c/p\u003e\n"]]],[],null,["Creates a limiting filter on cells per column.\n\nExplore further\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\nC++\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 // Filter the results, only include limited cells\n cbt::Filter filter = cbt::Filter::Latest(2);\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\nC#\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 cells per column 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 FilterLimitCellsPerCol(string projectId = \"YOUR-PROJECT-ID\", string instanceId = \"YOUR-INSTANCE-ID\", string tableId = \"YOUR-TABLE-ID\")\n {\n // A filter that matches only the most recent 2 cells within each column\n RowFilter filter = RowFilters.CellsPerColumnLimit(2);\n return ReadFilter(projectId, instanceId, tableId, filter);\n }\n\nGo\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 filterLimitCellsPerCol(w io.Writer, projectID, instanceID string, tableName string) error {\n \tfilter := bigtable.LatestNFilter(2)\n \treturn readWithFilter(w, projectID, instanceID, tableName, filter)\n }\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 public static void filterLimitCellsPerCol() {\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 filterLimitCellsPerCol(projectId, instanceId, tableId);\n }\n\n public static void filterLimitCellsPerCol(String projectId, String instanceId, String tableId) {\n // A filter that matches only the most recent 2 cells within each column\n Filter filter = FILTERS.limit().cellsPerColumn(2);\n readFilter(projectId, instanceId, tableId, filter);\n }\n\nNode.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 cellLimit: 2,\n },\n };\n readWithFilter(filter);\n\nPHP\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 cells per column\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_cells_per_col(\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::limit()-\u003ecellsPerColumn(2);\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\nPython\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_cells_per_col(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(filter_=row_filters.CellsColumnLimitFilter(2))\n for row in rows:\n print_row(row)\n\nRuby\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 filter = Google::Cloud::Bigtable::RowFilter.cells_per_column 2\n read_with_filter instance_id, table_id, filter\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)."]]