Read rows
Stay organized with collections
Save and categorize content based on your preferences.
Reads multiple rows.
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 provides code samples demonstrating how to read multiple rows from a Bigtable table.\u003c/p\u003e\n"],["\u003cp\u003eThe code examples are available in C++, C#, Go, Java, Node.js, PHP, Python, and Ruby.\u003c/p\u003e\n"],["\u003cp\u003eAll examples read rows with the keys "phone#4c410523#20190501" and "phone#4c410523#20190502".\u003c/p\u003e\n"],["\u003cp\u003eThe code samples showcase how to use the respective client libraries and include authentication instructions.\u003c/p\u003e\n"],["\u003cp\u003eTo explore more code samples for other Google cloud products you can use the Google Cloud sample browser.\u003c/p\u003e\n"]]],[],null,["Reads multiple rows.\n\nExplore further\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Read examples](/bigtable/docs/reading-data)\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 // Read and print the rows.\n for (StatusOr\u003ccbt::Row\u003e& row : table.ReadRows(\n cbt::RowSet(\"phone#4c410523#20190501\", \"phone#4c410523#20190502\"),\n cbt::Filter::PassAllFilter())) {\n if (!row) throw std::move(row).status();\n PrintRow(*row);\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\n\n /// \u003csummary\u003e\n /// /// Reads multiple rows 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 public async Task\u003cstring\u003e ReadRows(string projectId = \"YOUR-PROJECT-ID\", string instanceId = \"YOUR-INSTANCE-ID\", string tableId = \"YOUR-TABLE-ID\")\n {\n BigtableClient bigtableClient = BigtableClient.Create();\n TableName tableName = new TableName(projectId, instanceId, tableId);\n\n RowSet rowSet = RowSet.FromRowKeys(\"phone#4c410523#20190501\", \"phone#4c410523#20190502\");\n ReadRowsStream readRowsStream = bigtableClient.ReadRows(tableName, rowSet);\n\n string result = \"\";\n await foreach(var row in readRowsStream)\n {\n result += PrintRow(row);\n }\n\n return result;\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 readRows(w io.Writer, projectID, instanceID string, tableName string) error {\n \t// projectID := \"my-project-id\"\n \t// instanceID := \"my-instance-id\"\n \t// tableName := \"mobile-time-series\"\n\n \tctx := context.Background()\n \tclient, err := bigtable.NewClient(ctx, projectID, instanceID)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"bigtable.NewClient: %w\", err)\n \t}\n \tdefer client.Close()\n\n \ttbl := client.Open(tableName)\n \terr = tbl.ReadRows(ctx, bigtable.RowList{\"phone#4c410523#20190501\", \"phone#4c410523#20190502\"},\n \t\tfunc(row bigtable.Row) bool {\n \t\t\tprintRow(w, row)\n \t\t\treturn true\n \t\t},\n \t)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"tbl.ReadRows: %w\", err)\n \t}\n\n \treturn nil\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 readRows() {\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 readRows(projectId, instanceId, tableId);\n }\n\n public static void readRows(String projectId, String instanceId, String tableId) {\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 (BigtableDataClient dataClient = BigtableDataClient.create(projectId, instanceId)) {\n Query query =\n Query.create(TableId.of(tableId))\n .rowKey(\"phone#4c410523#20190501\")\n .rowKey(\"phone#4c410523#20190502\");\n ServerStream\u003cRow\u003e rows = dataClient.readRows(query);\n for (Row 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\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 rowKeys = ['phone#4c410523#20190501', 'phone#4c410523#20190502'];\n const [rows] = await table.getRows({keys: rowKeys});\n rows.forEach(row =\u003e printRow(row.id, row.data));\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\n /**\n * Read rows using an array of keys\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 read_rows(\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 $rows = $table-\u003ereadRows(\n ['rowKeys' =\u003e ['phone#4c410523#20190501', 'phone#4c410523#20190502']]\n );\n\n foreach ($rows as $key =\u003e $row) {\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 read_rows(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.row_set import https://cloud.google.com/python/docs/reference/bigtable/latest/google.cloud.bigtable.row_set.RowSet.html\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 row_set = RowSet()\n https://cloud.google.com/python/docs/reference/bigtable/latest/google.cloud.bigtable.row_set.html.https://cloud.google.com/python/docs/reference/bigtable/latest/google.cloud.bigtable.row_set.RowSet.html#google_cloud_bigtable_row_set_RowSet_add_row_key(b\"phone#4c410523#20190501\")\n https://cloud.google.com/python/docs/reference/bigtable/latest/google.cloud.bigtable.row_set.html.https://cloud.google.com/python/docs/reference/bigtable/latest/google.cloud.bigtable.row_set.RowSet.html#google_cloud_bigtable_row_set_RowSet_add_row_key(b\"phone#4c410523#20190502\")\n\n rows = table.read_rows(row_set=row_set)\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 bigtable = Google::Cloud::https://cloud.google.com/ruby/docs/reference/google-cloud-bigtable-admin-v2/latest/Google-Cloud-Bigtable.html.https://cloud.google.com/ruby/docs/reference/google-cloud-bigtable/latest/Google-Cloud-Bigtable.html\n table = bigtable.table instance_id, table_id\n\n table.read_rows(keys: [\"phone#4c410523#20190501\", \"phone#4c410523#20190502\"]).https://cloud.google.com/ruby/docs/reference/google-cloud-bigtable/latest/Google-Cloud-Bigtable-ColumnFamilyMap.html do |row|\n print_row row\n end\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)."]]