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 gRPC service
as member functions of the class. This library groups multiple gRPC 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."],[[["The Cloud BigQuery C++ Client library provides types and functions for interacting with Cloud BigQuery from C++ applications, and although it is in General Availability (GA), it does not follow Semantic Versioning."],["The library offers multiple `*Client` classes, each exposing all Remote Procedure Calls (RPCs) for a gRPC `service` as member functions, grouping multiple gRPC services for ease of use."],["The latest version of the client library is `2.37.0-rc`, and the page provides access to the current release, as well as to all previous versions starting at `2.36.0` going down to `2.11.0`."],["The quickstart guide provides code on how to get started using the BigQuery client library to read rows in avro format."],["The library provides other helpers, configuration parameters and testing infrastructure, with specific sections dedicated to Error Handling, Endpoint Overrides, Authentication Overrides, and Environment Variables."]]],[]]
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