bigquery
app.contrib.gcp.bigquery
Módulo de Python para Google Cloud BigQuery.
Para más información, te recomendamos leer la documentación del Proyecto.
- https://cloud.google.com/bigquery/docs/samples
- https://cloud.google.com/bigquery/docs/reference/v2/tables#resource
- https://github.com/googleapis/python-bigquery/tree/main/samples
- https://github.com/googleapis/python-bigquery/blob/main/samples/query_no_cache.py
- https://cloud.google.com/bigquery/docs/samples/bigquery-extract-table?hl=es-419#bigquery_extract_table-python
- https://cloud.google.com/bigquery/docs/exporting-data#bigquery_extract_table_compressed-python
- https://cloud.google.com/bigquery/docs/writing-results#python
- https://cloud.google.com/bigquery/docs/samples/bigquery-client-json-credentials
- https://cloud.google.com/bigquery/docs/samples?language=python
- https://cloud.google.com/python/docs/reference/bigquery/latest/google.cloud.bigquery.client.Client
- https://cloud.google.com/bigquery/quotas#streaming_inserts
- https://cloud.google.com/bigquery/docs/samples/bigquery-table-insert-rows
BigQuery
Genera una instancia con métodos sencillos para el manejo de BigQuery.
Attributes:
Name | Type | Description |
---|---|---|
_bq_client | Optional[Any] | donde almacenar la instancia de |
_project | Optional[Any] | donde almacenar el nombre del proyecto (se extrae de |
Warning
esta clase:
- se encuentra en revisión, puede cambiar en el futuro.
- se necesitan más pruebas y ejemplos.
Raises:
Type | Description |
---|---|
DefaultCredentialsError | en caso de que no se especifique |
DefaultException | excepciones para el manejo de errores personalizados |
Examples:
__init__()
Constructor de la clase BigQuery
list_datasets()
get_dataset(dataset_id)
delete_table(dataset_id, table_id)
Elimina una tabla de un Dataset.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
dataset_id | str | El nombre del Dataset | required |
table_id | str | El nombre de la tabla | required |
Notes
Utilice con precaución, esta opción no se puede deshacer.
- Debido a que el cliente
delete_table
de BigQuery, no devuelve estado de la operación, este método siempre se devolveráNone
.
Examples:
send_query(query, location='US')
send_query_nocache(query, location='US')
Realiza una consulta a una tabla, sin realizar caché de los resultados.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
query | str | description | required |
location | Optional[str] | description. Defaults to "US". | 'US' |
Returns:
Type | Description |
---|---|
Any | el resultado de la consulta |
Examples:
send_legacy_query(query)
Realiza una consulta a una tabla (en modo legacy
)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
query | _type_ | description | required |
Notes
- este método se encuentra obsoleto y se desaconseja su uso.
- utilice el método
send_query
en su lugar. - será eliminado en futuras versiones.
Returns:
Name | Type | Description |
---|---|---|
_type_ | None | description |
Examples:
insert_json(dataset, table, rows_to_insert)
Inserta filas en una tabla sin aplicar conversiones de tipo local.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
dataset | str | el nombre del dataset | required |
table | str | el nombre de la tabla | required |
rows_to_insert | list[dict] | un array de objetos con la información a almacenar | required |
Notes
- BigQuery solicita que los datos a insertar sean un array de objetos aunque sea un solo registro.
- BigQuery rechazará la solicitud de inserción que superen un límite definido (10 MB).
- Si la data a enviar supera ampliamente este límite, la solicitud es rechazada por la arquitectura intermedia, que devuelve un código de estado
413 (Payload Too Large).
Returns:
Type | Description |
---|---|
la cantidad de registros guardados ó |
Examples: