Stay organized with collections Save and categorize content based on your preferences.
The Cloud BigQuery C++ Client library offers types and functions to use Cloud BigQuery from C++ applications.
While this library is GA, please note Google Cloud C++ client libraries do not follow Semantic Versioning.
QuickstartThe following shows the code that you'll run in the google/cloud/bigquery/quickstart/
directory, which should give you a taste of the Cloud BigQuery C++ client library API.
#include "google/cloud/bigquery/storage/v1/bigquery_read_client.h"
#include <iostream>
namespace {
void ProcessRowsInAvroFormat(
::google::cloud::bigquery::storage::v1::AvroSchema const&,
::google::cloud::bigquery::storage::v1::AvroRows const&) {
// Code to deserialize avro rows should be added here.
}
} // namespace
int main(int argc, char* argv[]) try {
if (argc != 3) {
std::cerr << "Usage: " << argv[0] << " <project-id> <table-name>\n";
return 1;
}
// project_name should be in the format "projects/<your-gcp-project>"
std::string const project_name = "projects/" + std::string(argv[1]);
// table_name should be in the format:
// "projects/<project-table-resides-in>/datasets/<dataset-table_resides-in>/tables/<table
// name>" The project values in project_name and table_name do not have to be
// identical.
std::string const table_name = argv[2];
// Create a namespace alias to make the code easier to read.
namespace bigquery_storage = ::google::cloud::bigquery_storage_v1;
constexpr int kMaxReadStreams = 1;
// Create the ReadSession.
auto client = bigquery_storage::BigQueryReadClient(
bigquery_storage::MakeBigQueryReadConnection());
::google::cloud::bigquery::storage::v1::ReadSession read_session;
read_session.set_data_format(
google::cloud::bigquery::storage::v1::DataFormat::AVRO);
read_session.set_table(table_name);
auto session =
client.CreateReadSession(project_name, read_session, kMaxReadStreams);
if (!session) throw std::move(session).status();
// Read rows from the ReadSession.
constexpr int kRowOffset = 0;
auto read_rows = client.ReadRows(session->streams(0).name(), kRowOffset);
std::int64_t num_rows = 0;
for (auto const& row : read_rows) {
if (row.ok()) {
num_rows += row->row_count();
ProcessRowsInAvroFormat(session->avro_schema(), row->avro_rows());
}
}
std::cout << num_rows << " rows read from table: " << table_name << "\n";
return 0;
} catch (google::cloud::Status const& status) {
std::cerr << "google::cloud::Status thrown: " << status << "\n";
return 1;
}
Main classes
This library offers multiple *Client
classes, which are listed below. Each one of these classes exposes all the RPCs for a service as member functions of the class. This library groups multiple services because they are part of the same product or are often used together. A typical example may be the administrative and data plane operations for a single product.
The library also has other classes that provide helpers, configuration parameters, and infrastructure to mock the *Client
classes when testing your application.
bigquery_analyticshub_v1::AnalyticsHubServiceClient
bigquery_biglake_v1::MetastoreServiceClient
bigquery_connection_v1::ConnectionServiceClient
bigquery_datapolicies_v1::DataPolicyServiceClient
bigquery_datatransfer_v1::DataTransferServiceClient
bigquery_migration_v2::MigrationServiceClient
bigquery_reservation_v1::ReservationServiceClient
bigquery_storage_v1::BigQueryReadClient
bigquery_storage_v1::BigQueryWriteClient
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.
Last updated 2025-08-14 UTC.
[[["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"]],["Last updated 2025-08-14 UTC."],[[["This webpage details the Cloud BigQuery C++ Client Library, which provides tools for interacting with Cloud BigQuery from C++ applications."],["The library's latest release candidate is version 2.37.0-rc, while version 2.33.0 is specifically covered on this page, with a full history of versions available from 2.11.0."],["The provided quickstart code demonstrates how to create a ReadSession, and read rows from a specified BigQuery table in AVRO format, as well as deserialize avro rows."],["The library includes various `*Client` classes like `BigQueryReadClient` and `AnalyticsHubServiceClient` that offer RPC functionality, along with other supporting classes for configuration and testing."],["This page provides links to resources that explain error handling, endpoint and authentication overrides, custom retry policies, and the use of environment variables, and mocking."]]],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4