Insert rows with mutate
Stay organized with collections
Save and categorize content based on your preferences.
Insert rows using mutate.
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 insert multiple rows into a Bigtable table using the \u003ccode\u003eBulkMutation\u003c/code\u003e class in the C++ client library.\u003c/p\u003e\n"],["\u003cp\u003eThe code example illustrates writing 5,000 rows with sequential keys into a table, highlighting the potential performance issues of sequential keys in production environments.\u003c/p\u003e\n"],["\u003cp\u003eThe example showcases the usage of \u003ccode\u003eSetCell\u003c/code\u003e to add values to specific column families and columns within each row.\u003c/p\u003e\n"],["\u003cp\u003eIt covers handling potential failures during the bulk application of mutations, demonstrating how to identify and report non-idempotent operations that failed.\u003c/p\u003e\n"],["\u003cp\u003eThe content directs users to resources for client library installation and authentication setup, as well as a sample browser for other Google Cloud products.\u003c/p\u003e\n"]]],[],null,["Insert rows using mutate.\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 [](cbt::Table table) {\n // Write several rows in a single operation, each row has some trivial data.\n cbt::BulkMutation bulk;\n for (int i = 0; i != 5000; ++i) {\n // Note: This example uses sequential numeric IDs for simplicity, but\n // this can result in poor performance in a production application.\n // Since rows are stored in sorted order by key, sequential keys can\n // result in poor distribution of operations across nodes.\n //\n // For more information about how to design a Bigtable schema for the\n // best performance, see the documentation:\n //\n // https://cloud.google.com/bigtable/docs/schema-design\n char buf[32];\n snprintf(buf, sizeof(buf), \"key-%06d\", i);\n cbt::SingleRowMutation mutation(buf);\n mutation.emplace_back(\n cbt::SetCell(\"fam\", \"col0\", \"value0-\" + std::to_string(i)));\n mutation.emplace_back(\n cbt::SetCell(\"fam\", \"col1\", \"value1-\" + std::to_string(i)));\n bulk.emplace_back(std::move(mutation));\n }\n std::vector\u003ccbt::FailedMutation\u003e failures =\n table.BulkApply(std::move(bulk));\n if (failures.empty()) {\n std::cout \u003c\u003c \"All mutations applied successfully\\n\";\n return;\n }\n // By default, the `table` object uses the `SafeIdempotentMutationPolicy`\n // which does not retry if any of the mutations fails and are\n // not-idempotent. In this example we simply print such failures, if any,\n // and ignore them otherwise.\n std::cerr \u003c\u003c \"The following mutations failed and were not retried:\\n\";\n for (auto const& f : failures) {\n std::cerr \u003c\u003c \"index[\" \u003c\u003c f.original_index() \u003c\u003c \"]=\" \u003c\u003c f.status() \u003c\u003c \"\\n\";\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)."]]