Lakehouse sin límites te permite consultar conjuntos de datos públicos de solo lectura que se entregan a través del extremo del catálogo de REST de Apache Iceberg como parte del Programa de conjuntos de datos públicos deGoogle Cloud . Puedes conectar BigQuery, Managed Service para Apache Spark, Trino o Apache Flink para combinar estas tablas con tus datos privados o probar las configuraciones del motor de código abierto con un extremo de catálogo de Apache Iceberg REST en vivo sin administrar la infraestructura de almacenamiento.
Google cubre los costos de almacenamiento de estos conjuntos de datos y proporciona acceso público a los datos a través de Lakehouse. Solo debes pagar por las consultas que ejecutas en los datos.
Antes de comenzar
- Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Lakehouse API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Lakehouse API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Antes de conectarte con Apache Spark, debes tener lo siguiente:
- Credenciales predeterminadas de la aplicación (ADC) configuradas en tu entorno.
Ubicaciones de conjuntos de datos públicos
Cada conjunto de datos públicos se almacena en una ubicación específica, como US o EU. Los
conjuntos de datos públicos de Lakehouse se almacenan en la ubicación multirregional
US. Cuando consultes un conjunto de datos públicos, asegúrate
de que tu ubicación de procesamiento sea compatible con la ubicación del conjunto de datos.
Accede a conjuntos de datos públicos con Apache Spark
Debido a que los conjuntos de datos públicos de Lakehouse se entregan a través del catálogo de REST de Iceberg, puedes acceder a ellos desde Apache Spark y otros motores compatibles. Puedes conectarte al conjunto de datos público con cualquier entorno de Spark estándar, como local, Managed Service para Apache Spark o con otros proveedores de servicios en la nube.
Conéctate con Apache Spark
Usa las siguientes marcas de configuración cuando inicies tu sesión de Spark SQL.
Estas marcas configuran un catálogo llamado lakehouse-sample que apunta al extremo de REST público:
spark-sql \
--packages org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.10.0,org.apache.iceberg:iceberg-gcp-bundle:1.10.0 \
--conf spark.hadoop.hive.cli.print.header=true \
--conf spark.sql.catalog.bqms=org.apache.iceberg.spark.SparkCatalog \
--conf spark.sql.catalog.bqms.type=rest \
--conf spark.sql.catalog.bqms.uri=https://biglake.googleapis.com/iceberg/v1/restcatalog \
--conf spark.sql.catalog.bqms.warehouse=gs://CATALOG_NAME \
--conf spark.sql.catalog.bqms.header.x-goog-user-project=PROJECT_ID \
--conf spark.sql.catalog.bqms.rest.auth.type=google \
--conf spark.sql.catalog.bqms.io-impl=org.apache.iceberg.gcp.gcs.GCSFileIO \
--conf spark.sql.catalog.bqms.header.X-Iceberg-Access-Delegation=vended-credentials \
--conf spark.sql.defaultCatalog=lakehouse-sample
Reemplaza lo siguiente:
CATALOG_NAME: Es el nombre del catálogo de conjuntos de datos públicos, comolakehouse-public-dataobiglake-public-nyc-taxi-iceberg.PROJECT_ID: Es el ID del proyecto de Google Cloud .
Conéctate con PySpark y Managed Service para Apache Spark
También puedes usar un notebook de Spark administrado y sin servidores en Managed Service para Apache Spark para consultar las tablas sin crear ni administrar un clúster:
from google.cloud.dataproc_v1 import Session
from google.cloud.dataproc_spark_connect import DataprocSparkSession
PROJECT_ID = "PROJECT_ID"
spark_catalog = "CATALOG_NAME"
session = Session()
session.runtime_config.properties = {
"spark.sql.extensions": "org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions",
f"spark.sql.catalog.{spark_catalog}": "org.apache.iceberg.spark.SparkCatalog",
f"spark.sql.catalog.{spark_catalog}.type": "rest",
f"spark.sql.catalog.{spark_catalog}.uri": "https://biglake.googleapis.com/iceberg/v1/restcatalog",
f"spark.sql.catalog.{spark_catalog}.rest.auth.type": "org.apache.iceberg.gcp.auth.GoogleAuthManager",
f"spark.sql.catalog.{spark_catalog}.io-impl": "org.apache.iceberg.gcp.gcs.GCSFileIO",
f"spark.sql.catalog.{spark_catalog}.header.X-Iceberg-Access-Delegation": "vended-credentials",
f"spark.sql.catalog.{spark_catalog}.warehouse": f"gs://{spark_catalog}",
f"spark.sql.catalog.{spark_catalog}.header.x-goog-user-project": PROJECT_ID,
}
spark = (
DataprocSparkSession.builder
.appName("Lakehouse Public Data Demo")
.dataprocSessionConfig(session)
.getOrCreate()
)
spark.conf.set("spark.sql.defaultCatalog", spark_catalog)
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de Google Cloud .CATALOG_NAME: Es el nombre del catálogo de conjuntos de datos públicos, comolakehouse-public-dataobiglake-public-nyc-taxi-iceberg.
Consultas de ejemplo
Una vez que te conectes, tendrás acceso completo a SQL para los conjuntos de datos.
Consulta las vistas de página de Wikipedia y las confirmaciones de GitHub
Cuando te conectas al catálogo lakehouse-public-data en una sesión de PySpark, puedes
consultar los recuentos de vistas mensuales de Wikipedia para los artículos relacionados con
BigQuery:
df1 = spark.sql("""
SELECT
title,
wiki,
SUM(views) AS total_views
FROM wikipedia.pageviews_2026
WHERE datehour >= TIMESTAMP '2026-01-01 00:00:00'
AND datehour < TIMESTAMP '2026-02-01 00:00:00'
AND LOWER(title) LIKE '%bigquery%'
GROUP BY title, wiki
ORDER BY total_views DESC
LIMIT 20
""")
df1.show(10)
También puedes recuperar confirmaciones recientes de GitHub que hagan referencia a Iceberg:
df2 = spark.sql("""
SELECT
commits.commit,
commits.subject,
commits.message,
commits.author.name AS author_name,
timestamp_seconds(commits.committer.date.seconds) AS commit_time,
repo_name
FROM github_repos.commits AS commits
WHERE LOWER(commits.subject) LIKE '%iceberg%'
OR LOWER(commits.message) LIKE '%iceberg%'
ORDER BY commit_time DESC
LIMIT 50
""")
df2.show(10)
Consulta el conjunto de datos de taxis de NYC
El conjunto de datos de NYC Taxi está disponible en el catálogo de biglake-public-nyc-taxi-iceberg, modelado como una tabla de Iceberg para demostrar las capacidades de partición y
metadatos.
En la siguiente consulta, se agregan millones de registros para encontrar la tarifa promedio y la distancia del viaje según la cantidad de pasajeros. En él, se muestra cómo Iceberg analiza de manera eficiente los archivos de datos sin necesidad de enumerar directorios con la eliminación de particiones:
SELECT
passenger_count,
COUNT(1) AS num_trips,
ROUND(AVG(total_amount), 2) AS avg_fare,
ROUND(AVG(trip_distance), 2) AS avg_distance
FROM
lakehouse-sample.public_data.nyc_taxicab
WHERE
data_file_year = 2021
AND passenger_count > 0
GROUP BY
passenger_count
ORDER BY
num_trips DESC;
Una de las funciones más potentes de Iceberg es el viaje en el tiempo. Puedes consultar la tabla tal como existía en un momento específico del pasado. La siguiente consulta te permite auditar los cambios comparando el recuento de filas de la versión actual con una instantánea específica:
-- Compare the row count of the current version vs. a specific snapshot
SELECT
'Current State' AS version,
COUNT(*) AS count
FROM lakehouse-sample.public_data.nyc_taxicab
UNION ALL
SELECT
'Past State' AS version,
COUNT(*) AS count
FROM lakehouse-sample.public_data.nyc_taxicab VERSION AS OF 2943559336503196801Q;
Si consultas la tabla de metadatos del historial (por ejemplo, SELECT * FROM
lakehouse-sample.public_data.nyc_taxicab.history), puedes encontrar los IDs de las instantáneas y viajar
en el tiempo para ver cómo creció el conjunto de datos.
Para obtener más información, consulta Consulta tablas de Apache Iceberg con Lakehouse.
Conjuntos de datos disponibles
Lakehouse proporciona conjuntos de datos públicos y tablas de muestra que puedes
consultar como tablas de Apache Iceberg en dos catálogos públicos:
lakehouse-public-data y biglake-public-nyc-taxi-iceberg.
Catálogo de lakehouse-public-data
El catálogo lakehouse-public-data (gs://lakehouse-public-data) incluye los
siguientes espacios de nombres y tablas en formato de Apache Iceberg.
austin_bikeshare
El espacio de nombres austin_bikeshare incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
bikeshare_trips |
Registros de viajes de Austin Bikeshare, incluidos la duración del viaje, las marcas de tiempo de inicio y finalización, y los detalles de la estación. |
bls
El espacio de nombres bls incluye estadísticas económicas proporcionadas por la Oficina de Estadísticas Laborales de EE.UU.:
| Nombre | Descripción |
|---|---|
cpi_u |
Datos de la serie del Índice de precios al consumidor para todos los consumidores urbanos (CPI-U). |
unemployment_cps |
Estadísticas de desempleo de la Encuesta continua de población (CPS) |
census_bureau_acs
El espacio de nombres census_bureau_acs incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
state_2020_5yr |
Estimaciones de 5 años a nivel estatal de la Encuesta sobre la Comunidad Estadounidense (ACS) de la Oficina del Censo de EE.UU. para 2020. |
chicago_taxi_trips
El espacio de nombres chicago_taxi_trips incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
taxi_trips |
Registros de viajes en taxi de Chicago, incluidas las marcas de tiempo, la distancia, las tarifas y las ubicaciones de partida y destino. |
crypto_ethereum
El espacio de nombres crypto_ethereum incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
transactions |
Registros de transacciones de la cadena de bloques de Ethereum, incluidas las direcciones del remitente y del destinatario, el valor y las métricas de gas. |
ga4_obfuscated_sample_ecommerce
El espacio de nombres ga4_obfuscated_sample_ecommerce incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
events_20210131 |
Datos de eventos de Google Analytics 4 ofuscados que emulan una implementación de comercio electrónico web para el 31 de enero de 2021. |
geo_openstreetmap
El espacio de nombres geo_openstreetmap incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
planet_features |
Son los accidentes geográficos globales de OpenStreetMap, incluidos los tipos de accidentes, las etiquetas y las geometrías. |
geo_us_boundaries
El espacio de nombres geo_us_boundaries incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
zip_codes |
Límites de códigos postales de EE.UU., incluidos los códigos FIPS de ciudad, condado y estado, y las geometrías geográficas. |
github_repos
El espacio de nombres github_repos incluye datos de repositorios públicos con licencia de código abierto
en GitHub:
| Nombre | Descripción |
|---|---|
commits |
Confirmaciones de Git únicas de repositorios de código abierto en GitHub, agrupadas por repositorio. |
contents |
Contenido único de archivos de texto de menos de 1 MiB en la rama HEAD. |
languages |
Lenguajes de programación por repositorio según lo informado por la API de GitHub. |
licenses |
Código SPDX de la licencia de código abierto para cada repositorio. |
sample_commits |
Muestra de confirmaciones de la tabla commits. |
sample_contents |
Muestra aleatoria del 10% del contenido de los archivos de texto de la tabla contents. |
sample_files |
Metadatos de archivos de muestra para archivos en HEAD de los 400,000 repositorios principales que se enumeran en sample_repos. |
sample_repos |
Los 400,000 repositorios de GitHub principales según el recuento de estrellas. |
google_trends
El espacio de nombres google_trends incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
top_terms |
Son los 25 términos de búsqueda diarios más populares en Estados Unidos, con su puntuación, clasificación, hora y área de mercado designada (DMA). |
imdb
El espacio de nombres imdb incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
title_basics |
Metadatos de títulos de IMDb, incluidos el tipo de título, los títulos principales y originales, el año de lanzamiento, la duración y los géneros. |
title_ratings |
Promedios de calificaciones de los usuarios de IMDb y recuentos de votos para los títulos |
iowa_liquor_sales
El espacio de nombres iowa_liquor_sales incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
sales |
Registros de compras de licores al por mayor en el estado de Iowa por parte de minoristas para la venta a particulares desde 2012. |
ml_datasets
El espacio de nombres ml_datasets incluye tablas de comparativas de aprendizaje automático:
| Nombre | Descripción |
|---|---|
census_adult_income |
Es el conjunto de datos de ingresos de adultos del censo que se usa para las tareas de clasificación que predicen si los ingresos superan los USD 50,000 por año. |
penguins |
Mediciones de pingüinos del archipiélago de Palmer, incluidas la especie, la isla, las dimensiones del culmen, la longitud de la aleta y la masa corporal. |
ulb_fraud_detection |
Transacciones anonimizadas con tarjetas de crédito de titulares europeos de septiembre de 2013 para la evaluación comparativa de la detección de fraudes. |
new_york_citibike
El espacio de nombres new_york_citibike incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
citibike_trips |
Registros de viajes de Citi Bike en la ciudad de Nueva York, incluidos la duración del viaje, las marcas de tiempo, las ubicaciones de las estaciones y los datos demográficos de los usuarios. |
new_york_taxi_trips
El espacio de nombres new_york_taxi_trips incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
taxi_zone_geom |
IDs, nombres, distritos y geometrías de límites de las zonas de taxis de la Comisión de Taxis y Limusinas (TLC) de la Ciudad de Nueva York. |
tlc_green_trips_2022 |
Registros de viajes en taxi verde de la TLC de NYC para 2022. |
tlc_yellow_trips_2022 |
Registros de viajes en taxis amarillos de la TLC de NYC para 2022. |
noaa_gsod
El espacio de nombres noaa_gsod incluye los datos meteorológicos del Resumen diario de la superficie global (GSOD)
de la Administración Nacional Oceánica y Atmosférica (NOAA):
| Nombre | Descripción |
|---|---|
gsod2023 |
Observaciones diarias del resumen meteorológico de la superficie global para 2023. |
stations |
Son los metadatos de las estaciones meteorológicas de la NOAA, incluidos los identificadores, los nombres, los países, los estados y las coordenadas de las estaciones. |
sec_quarterly_financials
El espacio de nombres sec_quarterly_financials incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
numbers |
Datos numéricos de estados financieros extraídos de las presentaciones trimestrales de la Comisión de Bolsa y Valores (SEC) de EE.UU. |
stackoverflow
El espacio de nombres stackoverflow incluye las siguientes tablas:
| Nombre | Descripción |
|---|---|
posts_answers |
Publicaciones de respuestas de Stack Overflow, incluidos el texto del cuerpo, la puntuación, la fecha de creación y los detalles del autor. |
posts_questions |
Son las publicaciones de preguntas de Stack Overflow, incluidos el título, el texto del cuerpo, las etiquetas, el recuento de vistas y el ID de la respuesta aceptada. |
users |
Perfiles de usuario de Stack Overflow, incluidos el nombre visible, la reputación, la fecha de creación y los recuentos de insignias. |
tpc_ds_1g
El espacio de nombres tpc_ds_1g incluye tablas de comparativas de TPC-DS de 1 GB:
| Nombre | Descripción |
|---|---|
date_dim |
Tabla de dimensiones de fechas de TPC-DS que asigna fechas de calendario a períodos fiscales, trimestres y días feriados. |
store_sales |
Tabla de hechos de ventas en la tienda de TPC-DS que registra las transacciones de la tienda minorista. |
wikipedia
El espacio de nombres wikipedia incluye estadísticas de vistas de página de Wikimedia y entidades de
Wikidata:
| Nombre | Descripción |
|---|---|
pageviews_2015 |
Recuentos de vistas de página de Wikipedia por hora para 2015, particionados por fecha. |
pageviews_2016 |
Son los recuentos de vistas de página de Wikipedia por hora para 2016, particionados por fecha. |
pageviews_2017 |
Recuentos de vistas de página de Wikipedia por hora para 2017, particionados por fecha. |
pageviews_2018 |
Recuentos de vistas de página de Wikipedia por hora para 2018, particionados por fecha. |
pageviews_2019 |
Recuentos de vistas de página de Wikipedia por hora para 2019, particionados por fecha. |
pageviews_2020 |
Recuentos de vistas de página de Wikipedia por hora para 2020, particionados por fecha. |
pageviews_2021 |
Recuentos de vistas de página de Wikipedia por hora para 2021, particionados por fecha. |
pageviews_2022 |
Recuentos de vistas de página de Wikipedia por hora para 2022, particionados por fecha. |
pageviews_2023 |
Recuentos de vistas de página de Wikipedia por hora para 2023, particionados por fecha. |
pageviews_2024 |
Recuentos de vistas de página de Wikipedia por hora para 2024, particionados por fecha. |
pageviews_2025 |
Recuentos de vistas de página de Wikipedia por hora para 2025, particionados por fecha. |
pageviews_2026 |
Recuentos de vistas de página de Wikipedia por hora para 2026, particionados por fecha. |
table_activists |
Recuentos de vistas de página de Wikipedia para artículos sobre activistas. |
table_actors |
Recuentos de vistas de páginas de Wikipedia para artículos sobre actores |
table_alumni |
Recuentos de vistas de páginas de Wikipedia para artículos sobre exalumnos. |
table_artists |
Recuentos de vistas de páginas de Wikipedia para artículos sobre artistas |
table_athlete |
Recuentos de vistas de páginas de Wikipedia para artículos sobre atletas |
table_bands |
Recuentos de vistas de página de Wikipedia para artículos sobre bandas musicales. |
table_born |
Recuentos de vistas de páginas de Wikipedia para artículos categorizados por año de nacimiento. |
table_businesspeople |
Recuentos de vistas de páginas de Wikipedia de artículos sobre empresarios. |
table_comedians |
Recuentos de vistas de páginas de Wikipedia para artículos sobre comediantes. |
table_composers |
Recuentos de vistas de páginas de Wikipedia para artículos sobre compositores. |
table_inventors |
Recuentos de vistas de página de Wikipedia para artículos sobre inventores. |
table_politicians |
Recuentos de vistas de páginas de Wikipedia para artículos sobre políticos. |
table_scientists |
Recuentos de vistas de páginas de Wikipedia para artículos sobre científicos. |
table_singers |
Recuentos de vistas de páginas de Wikipedia para artículos sobre cantantes. |
table_writers |
Recuentos de vistas de páginas de Wikipedia para artículos sobre escritores. |
wikidata |
Entidades de la base de conocimiento estructurada de Wikidata, incluidas etiquetas, descripciones, vínculos a sitios y declaraciones multilingües. |
world_bank_health_population
El espacio de nombres world_bank_health_population incluye estadísticas de salud,
nutrición y población del Banco Mundial:
| Nombre | Descripción |
|---|---|
country_series_definitions |
Definiciones y metadatos que vinculan los códigos de país y los códigos de series de indicadores. |
country_summary |
Metadatos de países, incluidos nombres cortos y largos, códigos ISO, unidades monetarias y regiones. |
health_nutrition_population |
Valores anuales de los indicadores de salud, nutrición y población por país. |
series_summary |
Metadatos de indicadores de salud y población, incluidas definiciones, unidades de medida y periodicidad. |
series_times |
Metadatos y descripciones de series temporales por código de serie de indicador y año. |
world_bank_wdi
El espacio de nombres world_bank_wdi incluye los datos de los Indicadores del desarrollo mundial (IDM) del Banco Mundial:
| Nombre | Descripción |
|---|---|
country_summary |
Metadatos de países, incluidos nombres cortos y largos, códigos ISO, unidades monetarias y grupos de ingresos. |
indicators_data |
Son los valores anuales de los Indicadores de desarrollo mundial por país y código de indicador. |
series_summary |
Definiciones, temas y unidades de medida de las series de Indicadores del desarrollo mundial. |
Catálogo de biglake-public-nyc-taxi-iceberg
El catálogo biglake-public-nyc-taxi-iceberg
(gs://biglake-public-nyc-taxi-iceberg) incluye las siguientes tablas en el
espacio de nombres public_data en formato de Apache Iceberg:
| Nombre | Descripción |
|---|---|
nyc_taxicab |
Datos de registros de viajes de la Comisión de Taxis y Limusinas (TLC) de la Ciudad de Nueva York |
nyc_taxicab_2021 |
Datos de registros de viajes de la Comisión de Taxis y Limusinas (TLC) de la Ciudad de Nueva York para 2021. |
¿Qué sigue?
- Obtén más información sobre las tablas de Apache Iceberg administradas por Lakehouse.
- Obtén más información sobre el catálogo de REST de Iceberg del catálogo de entorno de ejecución de Lakehouse.