Need help with python-bigquery?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

googleapis
152 Stars 78 Forks Apache License 2.0 1.1K Commits 54 Opened issues

Services available

!
?

Need anything else?

Contributors list

Python Client for Google BigQuery

|GA| |pypi| |versions|

Querying massive datasets can be time consuming and expensive without the right hardware and infrastructure. Google

BigQuery
_ solves this problem by enabling super-fast, SQL queries against append-mostly tables, using the processing power of Google's infrastructure.
  • Client Library Documentation
    _
  • Product Documentation
    _

.. |GA| image:: https://img.shields.io/badge/support-GA-gold.svg :target: https://github.com/googleapis/google-cloud-python/blob/master/README.rst#general-availability .. |pypi| image:: https://img.shields.io/pypi/v/google-cloud-bigquery.svg :target: https://pypi.org/project/google-cloud-bigquery/ .. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-bigquery.svg :target: https://pypi.org/project/google-cloud-bigquery/ .. _BigQuery: https://cloud.google.com/bigquery/what-is-bigquery .. _Client Library Documentation: https://googleapis.dev/python/bigquery/latest .. _Product Documentation: https://cloud.google.com/bigquery/docs/reference/v2/

Quick Start

In order to use this library, you first need to go through the following steps:

  1. Select or create a Cloud Platform project.
    _
  2. Enable billing for your project.
    _
  3. Enable the Google Cloud BigQuery API.
    _
  4. Setup Authentication.
    _

.. Select or create a Cloud Platform project.: https://console.cloud.google.com/project .. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enablebillingfora_project .. _Enable the Google Cloud BigQuery API.: https://cloud.google.com/bigquery .. _Setup Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html

Installation ~~~~~~~~~~~~

Install this library in a

virtualenv
_ using pip.
virtualenv
_ is a tool to create isolated Python environments. The basic problem it addresses is one of dependencies and versions, and indirectly permissions.

With

virtualenv
_, it's possible to install this library without needing system install permissions, and without clashing with the installed system dependencies.

.. _

virtualenv
: https://virtualenv.pypa.io/en/latest/

Supported Python Versions ^^^^^^^^^^^^^^^^^^^^^^^^^ Python >= 3.6, < 3.10

Unsupported Python Versions ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Python == 2.7, Python == 3.5.

The last version of this library compatible with Python 2.7 and 3.5 is

google-cloud-bigquery==1.28.0
.

Mac/Linux ^^^^^^^^^

.. code-block:: console

pip install virtualenv
virtualenv 
source /bin/activate
/bin/pip install google-cloud-bigquery

Windows ^^^^^^^

.. code-block:: console

pip install virtualenv
virtualenv 
\Scripts\activate
\Scripts\pip.exe install google-cloud-bigquery

Example Usage

Perform a query ~~~~~~~~~~~~~~~

.. code:: python

from google.cloud import bigquery

client = bigquery.Client()

Perform a query.

QUERY = ( 'SELECT name FROM bigquery-public-data.usa_names.usa_1910_2013 ' 'WHERE state = "TX" ' 'LIMIT 100') query_job = client.query(QUERY) # API request rows = query_job.result() # Waits for query to finish

for row in rows: print(row.name)

Instrumenting With OpenTelemetry

This application uses

OpenTelemetry
_ to output tracing data from API calls to BigQuery. To enable OpenTelemetry tracing in the BigQuery client the following PyPI packages need to be installed:

.. _OpenTelemetry: https://opentelemetry.io

.. code-block:: console

pip install google-cloud-bigquery[opentelemetry] opentelemetry-exporter-google-cloud

After installation, OpenTelemetry can be used in the BigQuery client and in BigQuery jobs. First, however, an exporter must be specified for where the trace data will be outputted to. An example of this can be found here:

.. code-block:: python

from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchExportSpanProcessor
from opentelemetry.exporter.cloud_trace import CloudTraceSpanExporter
trace.set_tracer_provider(TracerProvider())
trace.get_tracer_provider().add_span_processor(
    BatchExportSpanProcessor(CloudTraceSpanExporter())
)

In this example all tracing data will be published to the Google

Cloud Trace
_ console. For more information on OpenTelemetry, please consult the
OpenTelemetry documentation
_.

.. _OpenTelemetry documentation: https://opentelemetry-python.readthedocs.io .. _Cloud Trace: https://cloud.google.com/trace

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.