Conjuntos de datos públicos de Borderless Lakehouse

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

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Lakehouse API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. 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.

    Enable the API

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Lakehouse API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. 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.

    Enable the API

Antes de conectarte con Apache Spark, debes tener lo siguiente:

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:

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:

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.

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?