Fetch
Handles fetching data from BigQuery into pandas DataFrames.
This class encapsulates the logic for executing SQL queries. It
requires an active, pre-configured BQConnector instance to
perform its operations. This design decouples the fetch logic from
the connection management.
Attributes:
| Name | Type | Description |
|---|---|---|
connector |
BQConnector
|
An active and connected BQConnector instance. |
Example
from easy_bigquery import BQConnector
from easy_bigquery.workers import FetchWorker
sql = 'SELECT name, state FROM `bigquery-public-data.usa_names.usa_1910_current` LIMIT 5'
connector = BQConnector()
try:
connector.connect()
# The worker needs an active connector to work.
worker = FetchWorker(connector)
df = worker.fetch(sql)
print('Fetched DataFrame:')
print(df)
finally:
connector.close()
Source code in easy_bigquery/workers/fetch.py
__init__(connector)
Initializes the FetchWorker.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
connector
|
BQConnector
|
An initialized and connected |
required |
Raises:
| Type | Description |
|---|---|
ConnectionError
|
If the provided connector is not active. |
Source code in easy_bigquery/workers/fetch.py
fetch(query, use_storage_api=True, **kwargs)
Executes a SQL query and returns the result as a DataFrame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
query
|
str
|
The SQL query string to execute. |
required |
use_storage_api
|
bool
|
If True, uses the faster BigQuery Storage API for downloading results. Defaults to True. |
True
|
**kwargs
|
Any
|
Additional keyword arguments to pass to the
|
{}
|
Returns:
| Type | Description |
|---|---|
DataFrame
|
A pandas DataFrame containing the query results. |
Raises:
| Type | Description |
|---|---|
RuntimeError
|
If the BigQuery client is not available. |