The BigQuery <https://cloud.google.com/bigquery>
backend is now maintained
as a first-party backend in Ibis <https://github.com/ibis-project/ibis>
.
You can find updated installation and usage instructions in the Ibis documentation <https://ibis-project.org/backends/BigQuery/>
_.
This package provides a BigQuery <https://cloud.google.com/bigquery>
backend
for Ibis <https://ibis-project.org/>
.
Supported Python Versions ^^^^^^^^^^^^^^^^^^^^^^^^^ Python >= 3.7, < 3.11
Unsupported Python Versions ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Python < 3.7
Install with conda:
.. code-block:: console
conda install -c conda-forge ibis-bigquery
Install with pip:
.. code-block:: console
pip install ibis-bigquery
Connecting to BigQuery ^^^^^^^^^^^^^^^^^^^^^^
Recommended usage (Ibis 2.x, only):
.. code-block:: python
import ibis
conn = ibis.bigquery.connect(
project_id=YOUR_PROJECT_ID,
dataset_id='bigquery-public-data.stackoverflow'
)
Using this library directly:
.. code-block:: python
import ibis
import ibis_bigquery
conn = ibis_bigquery.connect(
project_id=YOUR_PROJECT_ID,
dataset_id='bigquery-public-data.stackoverflow'
)
Running a query ^^^^^^^^^^^^^^^
.. code-block:: python
edu_table = conn.table(
'international_education',
database='bigquery-public-data.world_bank_intl_education')
edu_table = edu_table['value', 'year', 'country_code', 'indicator_code']
country_table = conn.table(
'country_code_iso',
database='bigquery-public-data.utility_us')
country_table = country_table['country_name', 'alpha_3_code']
expression = edu_table.join(
country_table,
[edu_table.country_code == country_table.alpha_3_code])
print(conn.execute(
expression[edu_table.year == 2016]
# Adult literacy rate.
[edu_table.indicator_code == 'SE.ADT.LITR.ZS']
.sort_by([ibis.desc(edu_table.value)])
.limit(20)
))