CURSO GRATUITO SQL AQUÍ ⬇⬇⬇
🔗https://www.kaggle.com/learn/intro-to-sql
# Importación de BigQuery
from google.cloud import bigquery
# Crear Cliente
# Este cliente tendrá un rol central en el traer la información de datasetsde BigQuery
client = bigquery.Client()
# Traer nuestro dataset
dataset_ref = client.dataset("hacker news", project = "biguery-public-data")
dataset = client.get_dataset(dataset_ref)
# Método para listar tablas
tables = list(client.list_tables(dataset))
for elemento in table:
print(elemento.table_id)
# Traer una table de un dataset
table_ref = dataset_ref.table("full")
table = client.get_table(table_ref)
# Ver esquema de tabla
table.schema
# Vista previa de las primeras cinco lineas de la tabla "full"
client.list_rows(table, max_results = 5).to_dataframe()
# Ver los primeros cinco registros de nuestra tabla "full"
client.list_rows(table, selected_fields = table.schema[:1], max_results = 5).to_dataframe()
# Consulta SELECT
query = """
SELECT Name
FROM `bigquery-public-data.pet_records.pets`
"""
# Consulta WHERE
query = """
SELECT Name
FROM `bigquery-public-data.pet_records.pets`
WHERE Animal = 'Cat'
"""
# -- / -- / -- / -- / -- / -- / -- / -- / -- /
# Nuestra consulta
query = """
SELECT city
FROM `bigquery-public-data.openaq.global_air_quality`
WHERE country = 'US'
"""
#Ejecutamos la consulta en el objeto
query_job = client.query(query)
# Pasamos el resultado de la consulta a dataFrame
us_cities_df = query_job.to_dataframe()
# Los valores más frecuentes en nuestro dataFrame
us_cities_df.city.value_counts().head()
# -- / -- / -- / -- / -- / -- / -- / -- / -- /
# Configuración de la ejecución
dry_run_config = bigquery.QueryJobConfig(dry_run=True)
# Hacemos la consulta a partir de nuestra configuración de ejecución
dry_run_query_job = client.query(query, job_config=dry_run_config)
# -- / -- / -- / -- / -- / -- / -- / -- / -- /
# Limitando la consulta
ONE_MB = 1000*1000
# Guardar configuración de consulta
safe_config = bigquery.QueryJobConfig(maximum_bytes_billed=ONE_MB)
# Ejecutamos la consulta con la config guardada
safe_query_job = client.query(query, job_config=safe_config)
# Pasar a dataframe la consulta
safe_query_job.to_dataframe()