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/main/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#enable_billing_for_a_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.7
Unsupported Python Versions
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Python == 2.7, Python == 3.5, Python == 3.6.
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 <your-env>
source <your-env>/bin/activate
<your-env>/bin/pip install google-cloud-bigquery
Windows
^^^^^^^
.. code-block:: console
pip install virtualenv
virtualenv <your-env>
<your-env>\Scripts\activate
<your-env>\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-gcp-trace
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 BatchSpanProcessor
from opentelemetry.exporter.cloud_trace import CloudTraceSpanExporter
tracer_provider = TracerProvider()
tracer_provider = BatchSpanProcessor(CloudTraceSpanExporter())
trace.set_tracer_provider(TracerProvider())
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
Raw data
{
"_id": null,
"home_page": "https://github.com/googleapis/python-bigquery",
"name": "google-cloud-bigquery",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "Google LLC",
"author_email": "googleapis-packages@google.com",
"download_url": "https://files.pythonhosted.org/packages/c0/05/633ce6686b1fed2cd364fa4698bfa6d586263cd4795d012584f8097061e1/google_cloud_bigquery-3.27.0.tar.gz",
"platform": "Posix; MacOS X; Windows",
"description": "Python Client for Google BigQuery\n=================================\n\n|GA| |pypi| |versions|\n\nQuerying massive datasets can be time consuming and expensive without the\nright hardware and infrastructure. Google `BigQuery`_ solves this problem by\nenabling super-fast, SQL queries against append-mostly tables, using the\nprocessing power of Google's infrastructure.\n\n- `Client Library Documentation`_\n- `Product Documentation`_\n\n.. |GA| image:: https://img.shields.io/badge/support-GA-gold.svg\n :target: https://github.com/googleapis/google-cloud-python/blob/main/README.rst#general-availability\n.. |pypi| image:: https://img.shields.io/pypi/v/google-cloud-bigquery.svg\n :target: https://pypi.org/project/google-cloud-bigquery/\n.. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-bigquery.svg\n :target: https://pypi.org/project/google-cloud-bigquery/\n.. _BigQuery: https://cloud.google.com/bigquery/what-is-bigquery\n.. _Client Library Documentation: https://googleapis.dev/python/bigquery/latest\n.. _Product Documentation: https://cloud.google.com/bigquery/docs/reference/v2/\n\nQuick Start\n-----------\n\nIn order to use this library, you first need to go through the following steps:\n\n1. `Select or create a Cloud Platform project.`_\n2. `Enable billing for your project.`_\n3. `Enable the Google Cloud BigQuery API.`_\n4. `Setup Authentication.`_\n\n.. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project\n.. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project\n.. _Enable the Google Cloud BigQuery API.: https://cloud.google.com/bigquery\n.. _Setup Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html\n\nInstallation\n~~~~~~~~~~~~\n\nInstall this library in a `virtualenv`_ using pip. `virtualenv`_ is a tool to\ncreate isolated Python environments. The basic problem it addresses is one of\ndependencies and versions, and indirectly permissions.\n\nWith `virtualenv`_, it's possible to install this library without needing system\ninstall permissions, and without clashing with the installed system\ndependencies.\n\n.. _`virtualenv`: https://virtualenv.pypa.io/en/latest/\n\n\nSupported Python Versions\n^^^^^^^^^^^^^^^^^^^^^^^^^\nPython >= 3.7\n\nUnsupported Python Versions\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\nPython == 2.7, Python == 3.5, Python == 3.6.\n\nThe last version of this library compatible with Python 2.7 and 3.5 is\n`google-cloud-bigquery==1.28.0`.\n\n\nMac/Linux\n^^^^^^^^^\n\n.. code-block:: console\n\n pip install virtualenv\n virtualenv <your-env>\n source <your-env>/bin/activate\n <your-env>/bin/pip install google-cloud-bigquery\n\n\nWindows\n^^^^^^^\n\n.. code-block:: console\n\n pip install virtualenv\n virtualenv <your-env>\n <your-env>\\Scripts\\activate\n <your-env>\\Scripts\\pip.exe install google-cloud-bigquery\n\nExample Usage\n-------------\n\nPerform a query\n~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from google.cloud import bigquery\n\n client = bigquery.Client()\n\n # Perform a query.\n QUERY = (\n 'SELECT name FROM `bigquery-public-data.usa_names.usa_1910_2013` '\n 'WHERE state = \"TX\" '\n 'LIMIT 100')\n query_job = client.query(QUERY) # API request\n rows = query_job.result() # Waits for query to finish\n\n for row in rows:\n print(row.name)\n\nInstrumenting With OpenTelemetry\n--------------------------------\n\nThis application uses `OpenTelemetry`_ to output tracing data from\nAPI calls to BigQuery. To enable OpenTelemetry tracing in\nthe BigQuery client the following PyPI packages need to be installed:\n\n.. _OpenTelemetry: https://opentelemetry.io\n\n.. code-block:: console\n\n pip install google-cloud-bigquery[opentelemetry] opentelemetry-exporter-gcp-trace\n\nAfter installation, OpenTelemetry can be used in the BigQuery\nclient and in BigQuery jobs. First, however, an exporter must be\nspecified for where the trace data will be outputted to. An\nexample of this can be found here:\n\n.. code-block:: python\n\n from opentelemetry import trace\n from opentelemetry.sdk.trace import TracerProvider\n from opentelemetry.sdk.trace.export import BatchSpanProcessor\n from opentelemetry.exporter.cloud_trace import CloudTraceSpanExporter\n tracer_provider = TracerProvider()\n tracer_provider = BatchSpanProcessor(CloudTraceSpanExporter())\n trace.set_tracer_provider(TracerProvider())\n\nIn this example all tracing data will be published to the Google\n`Cloud Trace`_ console. For more information on OpenTelemetry, please consult the `OpenTelemetry documentation`_.\n\n.. _OpenTelemetry documentation: https://opentelemetry-python.readthedocs.io\n.. _Cloud Trace: https://cloud.google.com/trace\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "Google BigQuery API client library",
"version": "3.27.0",
"project_urls": {
"Homepage": "https://github.com/googleapis/python-bigquery"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f5404b11a4a8839de8ce802a3ccd60b34e70ce10d13d434a560534ba98f0ea3f",
"md5": "9529fce29fad1fe39da056f3a1f48419",
"sha256": "b53b0431e5ba362976a4cd8acce72194b4116cdf8115030c7b339b884603fcc3"
},
"downloads": -1,
"filename": "google_cloud_bigquery-3.27.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "9529fce29fad1fe39da056f3a1f48419",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.7",
"size": 240100,
"upload_time": "2024-11-11T16:49:58",
"upload_time_iso_8601": "2024-11-11T16:49:58.805630Z",
"url": "https://files.pythonhosted.org/packages/f5/40/4b11a4a8839de8ce802a3ccd60b34e70ce10d13d434a560534ba98f0ea3f/google_cloud_bigquery-3.27.0-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c005633ce6686b1fed2cd364fa4698bfa6d586263cd4795d012584f8097061e1",
"md5": "e5651084358a489b8c557029ac6f3caf",
"sha256": "379c524054d7b090fa56d0c22662cc6e6458a6229b6754c0e7177e3a73421d2c"
},
"downloads": -1,
"filename": "google_cloud_bigquery-3.27.0.tar.gz",
"has_sig": false,
"md5_digest": "e5651084358a489b8c557029ac6f3caf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 456964,
"upload_time": "2024-11-11T16:50:00",
"upload_time_iso_8601": "2024-11-11T16:50:00.712636Z",
"url": "https://files.pythonhosted.org/packages/c0/05/633ce6686b1fed2cd364fa4698bfa6d586263cd4795d012584f8097061e1/google_cloud_bigquery-3.27.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-11 16:50:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "googleapis",
"github_project": "python-bigquery",
"travis_ci": false,
"coveralls": true,
"github_actions": false,
"lcname": "google-cloud-bigquery"
}