En este documento se explica cómo crear una tabla de Apache Iceberg con metadatos en BigLake Metastore mediante el servicio Dataproc Jobs, la CLI de Spark SQL o la interfaz web de Zeppelin que se ejecuta en un clúster de Dataproc.
Antes de empezar
Si aún no lo has hecho, crea un Google Cloud proyecto, un segmento de Cloud Storage y un clúster de Dataproc.
Configurar un proyecto
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, BigQuery, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Dataproc, BigQuery, and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
Crea un segmento de Cloud Storage en tu proyecto.
- In the Google Cloud console, go to the Cloud Storage Buckets page.
- Click Create.
- On the Create a bucket page, enter your bucket information. To go to the next
step, click Continue.
-
In the Get started section, do the following:
- Enter a globally unique name that meets the bucket naming requirements.
- To add a
bucket label,
expand the Labels section ( ),
click add_box
Add label, and specify a
key
and avalue
for your label.
-
In the Choose where to store your data section, do the following:
- Select a Location type.
- Choose a location where your bucket's data is permanently stored from the Location type drop-down menu.
- If you select the dual-region location type, you can also choose to enable turbo replication by using the relevant checkbox.
- To set up cross-bucket replication, select
Add cross-bucket replication via Storage Transfer Service and
follow these steps:
Set up cross-bucket replication
- In the Bucket menu, select a bucket.
In the Replication settings section, click Configure to configure settings for the replication job.
The Configure cross-bucket replication pane appears.
- To filter objects to replicate by object name prefix, enter a prefix that you want to include or exclude objects from, then click Add a prefix.
- To set a storage class for the replicated objects, select a storage class from the Storage class menu. If you skip this step, the replicated objects will use the destination bucket's storage class by default.
- Click Done.
-
In the Choose how to store your data section, do the following:
- Select a default storage class for the bucket or Autoclass for automatic storage class management of your bucket's data.
- To enable hierarchical namespace, in the Optimize storage for data-intensive workloads section, select Enable hierarchical namespace on this bucket.
- In the Choose how to control access to objects section, select whether or not your bucket enforces public access prevention, and select an access control method for your bucket's objects.
-
In the Choose how to protect object data section, do the
following:
- Select any of the options under Data protection that you
want to set for your bucket.
- To enable soft delete, click the Soft delete policy (For data recovery) checkbox, and specify the number of days you want to retain objects after deletion.
- To set Object Versioning, click the Object versioning (For version control) checkbox, and specify the maximum number of versions per object and the number of days after which the noncurrent versions expire.
- To enable the retention policy on objects and buckets, click the Retention (For compliance) checkbox, and then do the following:
- To enable Object Retention Lock, click the Enable object retention checkbox.
- To enable Bucket Lock, click the Set bucket retention policy checkbox, and choose a unit of time and a length of time for your retention period.
- To choose how your object data will be encrypted, expand the Data encryption section (Data encryption method. ), and select a
- Select any of the options under Data protection that you
want to set for your bucket.
-
In the Get started section, do the following:
- Click Create.
Crea un clúster de Dataproc. Para ahorrar recursos y costes, puedes crear un clúster de Dataproc de un solo nodo para ejecutar los ejemplos que se muestran en este documento.
La subred de la región en la que se crea el clúster debe tener habilitada la opción Acceso privado de Google (PGA).
Si quieres ejecutar el ejemplo de interfaz web de Zeppelin de esta guía, debes usar o crear un clúster de Dataproc con el componente opcional de Zeppelin habilitado.
Asigna roles a una cuenta de servicio personalizada (si es necesario): de forma predeterminada, las VMs de clúster de Dataproc usan la cuenta de servicio predeterminada de Compute Engine para interactuar con Dataproc. Si quieres especificar una cuenta de servicio personalizada al crear el clúster, esta debe tener el rol Trabajador de Dataproc (
roles/dataproc.worker
) o un rol personalizado con los permisos necesarios del rol Trabajador.En una ventana de terminal local o en Cloud Shell, usa un editor de texto, como
vi
onano
, para copiar los siguientes comandos en un archivoiceberg-table.sql
y, a continuación, guarda el archivo en el directorio actual.USE CATALOG_NAME; CREATE NAMESPACE IF NOT EXISTS example_namespace; USE example_namespace; DROP TABLE IF EXISTS example_table; CREATE TABLE example_table (id int, data string) USING ICEBERG LOCATION 'gs://BUCKET/WAREHOUSE_FOLDER'; INSERT INTO example_table VALUES (1, 'first row'); ALTER TABLE example_table ADD COLUMNS (newDoubleCol double); DESCRIBE TABLE example_table;
Haz los cambios siguientes:
- CATALOG_NAME: nombre del catálogo de Iceberg.
- BUCKET y WAREHOUSE_FOLDER: segmento y carpeta de Cloud Storage que se usan para el almacén de datos de Iceberg.
Usa la CLI de gcloud para copiar el archivo local
iceberg-table.sql
en tu segmento de Cloud Storage.gcloud storage cp iceberg-table.sql gs://BUCKET/
En una ventana de terminal local o en Cloud Shell, ejecuta el siguiente comando
curl
para descargar el archivo JARiceberg-spark-runtime-3.5_2.12-1.6.1
en el directorio actual.curl -o iceberg-spark-runtime-3.5_2.12-1.6.1.jar https://storage-download.googleapis.com/maven-central/maven2/org/apache/iceberg/iceberg-spark-runtime-3.5_2.12/1.6.1/iceberg-spark-runtime-3.5_2.12-1.6.1.jar
Usa la CLI de gcloud para copiar el archivo JAR
iceberg-spark-runtime-3.5_2.12-1.6.1
local del directorio actual en tu segmento de Cloud Storage.gcloud storage cp iceberg-spark-runtime-3.5_2.12-1.6.1.jar gs://BUCKET/
Ejecuta el siguiente comando gcloud dataproc jobs submit spark-sql de forma local en una ventana de terminal local o en Cloud Shell para enviar la tarea de Spark SQL que crea la tabla de Iceberg.
gcloud dataproc jobs submit spark-sql \ --project=PROJECT_ID \ --cluster=CLUSTER_NAME \ --region=REGION \ --jars="gs://BUCKET/1.6.1/iceberg-spark-runtime-3.5_2.12-1.6.1.jar,gs://spark-lib/bigquery/iceberg-bigquery-catalog-1.6.1-1.0.1-beta.jar" \ --properties="spark.sql.catalog.CATALOG_NAME=org.apache.iceberg.spark.SparkCatalog,spark.sql.catalog.CATALOG_NAME.catalog-impl=org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog,spark.sql.catalog.CATALOG_NAME.gcp_project=PROJECT_ID,spark.sql.catalog.CATALOG_NAME.gcp_location=LOCATION,spark.sql.catalog.CATALOG_NAME.warehouse=gs://BUCKET/WAREHOUSE_FOLDER" \ -f="gs://BUCKETiceberg-table.sql"
Notas:
- PROJECT_ID: tu ID de proyecto Google Cloud . Los IDs de proyecto se indican en la sección Información del proyecto del panel de control de la consola Google Cloud .
- CLUSTER_NAME: nombre del clúster de Dataproc.
- REGION: la región de Compute Engine en la que se encuentra tu clúster.
- CATALOG_NAME: nombre del catálogo de Iceberg.
- BUCKET y WAREHOUSE_FOLDER: segmento y carpeta de Cloud Storage que se usan para el almacén de datos de Iceberg.
- LOCATION: una ubicación de BigQuery admitida. La ubicación predeterminada es "US".
--jars
: Los archivos JAR que se indican son necesarios para crear metadatos de tabla en BigLake Metastore.--properties
: Propiedades de catálogo.-f
: el archivo de trabajoiceberg-table.sql
que has copiado en tu segmento de Cloud Storage.
Consulta la descripción de la tabla en el resultado del terminal cuando finalice el trabajo.
Time taken: 2.194 seconds id int data string newDoubleCol double Time taken: 1.479 seconds, Fetched 3 row(s) Job JOB_ID finished successfully.
Para ver los metadatos de una tabla en BigQuery
En la Google Cloud consola, ve a la página BigQuery.
Ver los metadatos de una tabla Iceberg.
En la Google Cloud consola, ve a Dataproc Enviar una tarea.
Vaya a la página Enviar un trabajo y rellene los siguientes campos:
- ID de trabajo: acepta el ID sugerido o inserta el tuyo.
- Región: selecciona la región en la que se encuentra tu clúster.
- Clúster: selecciona el clúster.
- Tipo de trabajo: selecciona
SparkSql
. - Tipo de origen de la consulta: selecciona
Query file
. - Consultar archivo: inserta
gs://BUCKET/iceberg-table.sql
- Archivos JAR: inserta lo siguiente:
gs://BUCKET/iceberg-spark-runtime-3.5_2.12-1.6.1.jar,gs://spark-lib/bigquery/iceberg-bigquery-catalog-1.6.1-1.0.1-beta.jar
- Propiedades: haz clic en
key
value
. A continuación, copia los siguientes pares Clave y Valor para definir cinco propiedades.# Clave Valor 1. spark.sql.catalog.CATALOG_NAME
org.apache.iceberg.spark.SparkCatalog
2. spark.sql.catalog.CATALOG_NAME.catalog-impl
org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog
3. spark.sql.catalog.CATALOG_NAME.gcp_project
PROJECT_ID
4. spark.sql.catalog.CATALOG_NAME.gcp_location
LOCATION
5. spark.sql.catalog.CATALOG_NAME.warehouse
gs://BUCKET/WAREHOUSE_FOLDER
Añadir propiedad cinco veces para crear una lista de cinco campos de entrada
Notas:
- CATALOG_NAME: nombre del catálogo de Iceberg.
- PROJECT_ID: tu ID de proyecto Google Cloud . Los IDs de proyecto se indican en la sección Información del proyecto del panel de control Google Cloud de la consola. región en la que se encuentra el clúster.
- LOCATION: una ubicación de BigQuery admitida. La ubicación predeterminada es "US".
- BUCKET y WAREHOUSE_FOLDER: segmento y carpeta de Cloud Storage que se usan para el almacén de datos de Iceberg.
Haz clic en Enviar.
Para monitorizar el progreso de un trabajo y ver su salida, ve a la página Trabajos de Dataproc en la Google Cloud consola y, a continuación, haz clic en
Job ID
para abrir la página Detalles del trabajo.Para ver los metadatos de una tabla en BigQuery
En la Google Cloud consola, ve a la página BigQuery.
Ver los metadatos de una tabla Iceberg.
- PROJECT_ID: tu ID de proyecto Google Cloud . Los IDs de proyecto se indican en la sección Información del proyecto del panel de control de la consola Google Cloud .
- CLUSTER_NAME: nombre del clúster de Dataproc.
- REGION: la región de Compute Engine en la que se encuentra tu clúster.
- CATALOG_NAME: nombre del catálogo de Iceberg.
- BUCKET y WAREHOUSE_FOLDER: segmento y carpeta de Cloud Storage que se usan para el almacén de Iceberg. LOCATION: una ubicación de BigQuery admitida. La ubicación predeterminada es "US".
jarFileUris
: Los archivos JAR que se indican son necesarios para crear metadatos de tablas en la metastore de BigQuery.properties
: Propiedades de catálogo.queryFileUri
: el archivo de trabajoiceberg-table.sql
que has copiado en tu segmento de Cloud Storage.En la Google Cloud consola, ve a la página BigQuery.
Ver los metadatos de una tabla Iceberg.
Usa SSH para conectarte al nodo maestro de tu clúster de Dataproc.
En el terminal de la sesión SSH, usa el editor de texto
vi
onano
para copiar los siguientes comandos en un archivoiceberg-table.sql
.SET CATALOG_NAME = `CATALOG_NAME`; SET BUCKET = `BUCKET`; SET WAREHOUSE_FOLDER = `WAREHOUSE_FOLDER`; USE `${CATALOG_NAME}`; CREATE NAMESPACE IF NOT EXISTS `${CATALOG_NAME}`.example_namespace; DROP TABLE IF EXISTS `${CATALOG_NAME}`.example_namespace.example_table; CREATE TABLE `${CATALOG_NAME}`.example_namespace.example_table (id int, data string) USING ICEBERG LOCATION 'gs://${BUCKET}/${WAREHOUSE_FOLDER}'; INSERT INTO `${CATALOG_NAME}`.example_namespace.example_table VALUES (1, 'first row'); ALTER TABLE `${CATALOG_NAME}`.example_namespace.example_table ADD COLUMNS (newDoubleCol double); DESCRIBE TABLE `${CATALOG_NAME}`.example_namespace.example_table;
Haz los cambios siguientes:
- CATALOG_NAME: nombre del catálogo de Iceberg.
- BUCKET y WAREHOUSE_FOLDER: segmento y carpeta de Cloud Storage que se usan para el almacén de datos de Iceberg.
En el terminal de la sesión SSH, ejecuta el siguiente comando
spark-sql
para crear la tabla Iceberg.spark-sql \ --packages org.apache.iceberg:iceberg-spark-runtime-3.5_2.12:1.6.1 \ --jars https://storage-download.googleapis.com/maven-central/maven2/org/apache/iceberg/iceberg-spark-runtime-3.5_2.12/1.6.1/iceberg-spark-runtime-3.5_2.12-1.6.1.jar,gs://spark-lib/bigquery/iceberg-bigquery-catalog-1.6.1-1.0.1-beta.jar \ --conf spark.sql.catalog.CATALOG_NAME=org.apache.iceberg.spark.SparkCatalog \ --conf spark.sql.catalog.CATALOG_NAME.catalog-impl=org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog \ --conf spark.sql.catalog.CATALOG_NAME.gcp_project=PROJECT_ID \ --conf spark.sql.catalog.CATALOG_NAME.gcp_location=LOCATION \ --conf spark.sql.catalog.CATALOG_NAME.warehouse=gs://BUCKET/WAREHOUSE_FOLDER \ -f iceberg-table.sql
Haz los cambios siguientes:
- PROJECT_ID: tu ID de proyecto Google Cloud . Los IDs de proyecto se indican en la sección Información del proyecto del panel de control de la consola Google Cloud .
- LOCATION: una ubicación de BigQuery admitida. La ubicación predeterminada es "US".
Ver metadatos de una tabla en BigQuery
En la Google Cloud consola, ve a la página BigQuery.
Ver los metadatos de una tabla Iceberg.
En la Google Cloud consola, ve a la página Clústeres de Dataproc.
Selecciona el nombre del clúster para abrir la página Detalles del clúster.
Haga clic en la pestaña Interfaces web para ver una lista de enlaces de pasarela de componentes a las interfaces web de los componentes predeterminados y opcionales instalados en el clúster.
Haz clic en el enlace Zeppelin para abrir la interfaz web de Zeppelin.
En la interfaz web de Zeppelin, haga clic en el menú anónimo y, a continuación, en Intérprete para abrir la página Intérpretes.
Añade dos archivos JAR al intérprete de Zeppelin Spark de la siguiente manera:
- Escribe "Spark" en el cuadro
Search interpreters
para desplazarte a la sección del intérprete Spark. - Haz clic en edit (editar).
Pega lo siguiente en el campo spark.jars:
https://storage-download.googleapis.com/maven-central/maven2/org/apache/iceberg/iceberg-spark-runtime-3.5_2.12/1.6.1/iceberg-spark-runtime-3.5_2.12-1.6.1.jar,gs://spark-lib/bigquery/iceberg-bigquery-catalog-1.6.1-1.0.1-beta.jar
Haz clic en Guardar en la parte inferior de la sección del intérprete de Spark y, a continuación, haz clic en Aceptar para actualizar el intérprete y reiniciarlo con la nueva configuración.
- Escribe "Spark" en el cuadro
En el menú del cuaderno de Zeppelin, haz clic en Crear nota.
En el cuadro de diálogo Crear nota, introduce un nombre para el cuaderno y acepta el intérprete spark predeterminado. Haz clic en Crear para abrir el cuaderno.
Copia el siguiente código de PySpark en tu cuaderno de Zeppelin después de rellenar las variables.
%pyspark
from pyspark.sql import SparkSession
project_id = "PROJECT_ID" catalog = "CATALOG_NAME" namespace = "NAMESPACE" location = "LOCATION" warehouse_dir = "gs://BUCKET/WAREHOUSE_DIRECTORY"
spark = SparkSession.builder \ .appName("BigQuery Metastore Iceberg") \ .config(f"spark.sql.catalog.{catalog}", "org.apache.iceberg.spark.SparkCatalog") \ .config(f"spark.sql.catalog.{catalog}.catalog-impl", "org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog") \ .config(f"spark.sql.catalog.{catalog}.gcp_project", f"{project_id}") \ .config(f"spark.sql.catalog.{catalog}.gcp_location", f"{location}") \ .config(f"spark.sql.catalog.{catalog}.warehouse", f"{warehouse_dir}") \ .getOrCreate()
spark.sql(f"USE `{catalog}`;") spark.sql(f"CREATE NAMESPACE IF NOT EXISTS `{namespace}`;") spark.sql(f"USE `{namespace}`;")
\# Create table and display schema (without LOCATION) spark.sql("DROP TABLE IF EXISTS example_iceberg_table") spark.sql("CREATE TABLE example_iceberg_table (id int, data string) USING ICEBERG") spark.sql("DESCRIBE example_iceberg_table;")
\# Insert table data. spark.sql("INSERT INTO example_iceberg_table VALUES (1, 'first row');")
\# Alter table, then display schema. spark.sql("ALTER TABLE example_iceberg_table ADD COLUMNS (newDoubleCol double);")
\# Select and display the contents of the table. spark.sql("SELECT * FROM example_iceberg_table").show()Haz los cambios siguientes:
- PROJECT_ID: tu ID de proyecto Google Cloud . Los IDs de proyecto se indican en la sección Información del proyecto del panel de control de la consola Google Cloud .
- CATALOG_NAME y NAMESPACE: el nombre del catálogo de Iceberg y el espacio de nombres se combinan para identificar la tabla de Iceberg (
catalog.namespace.table_name
). - LOCATION: una ubicación de BigQuery admitida. La ubicación predeterminada es "US".
- BUCKET y WAREHOUSE_DIRECTORY: segmento y carpeta de Cloud Storage que se usan como directorio de almacén de Iceberg.
Haz clic en el icono de ejecución o pulsa
Shift-Enter
para ejecutar el código. Cuando se complete el trabajo, el mensaje de estado mostrará "Spark Job Finished" (Trabajo de Spark finalizado) y el resultado mostrará el contenido de la tabla:Ver metadatos de una tabla en BigQuery
En la Google Cloud consola, ve a la página BigQuery.
Ver los metadatos de una tabla Iceberg.
Asignación de bases de datos de OSS a conjuntos de datos de BigQuery
Ten en cuenta la siguiente asignación entre los términos de la base de datos de código abierto y los conjuntos de datos de BigQuery:
Base de datos de OSS Conjunto de datos de BigQuery Espacio de nombres y base de datos Conjunto de datos Tabla con o sin particiones Tabla Ver Ver Crear una tabla Iceberg
En esta sección se explica cómo crear una tabla Iceberg con metadatos en BigLake Metastore enviando código de Spark SQL al servicio Dataproc, a la CLI de Spark SQL y a la interfaz web del componente Zeppelin, que se ejecutan en un clúster de Dataproc.
Tarea de Dataproc
Puedes enviar una tarea al servicio Dataproc enviándola a un clúster de Dataproc mediante la consolaGoogle Cloud o la CLI de Google Cloud, o bien a través de una solicitud REST HTTP o una llamada programática gRPC a las bibliotecas de cliente de Cloud de Dataproc a la API Jobs de Dataproc.
En los ejemplos de esta sección se muestra cómo enviar una tarea de Spark SQL de Dataproc al servicio de Dataproc para crear una tabla de Iceberg con metadatos en BigQuery mediante la CLI de gcloud, la consola o la API REST de Dataproc. Google Cloud
Preparar archivos de tareas
Sigue estos pasos para crear un archivo de trabajo de Spark SQL. El archivo contiene comandos de Spark SQL para crear y actualizar una tabla Iceberg.
A continuación, descarga y copia el archivo
iceberg-spark-runtime-3.5_2.12-1.6.1
JAR en Cloud Storage.Enviar la tarea de Spark SQL
Selecciona una pestaña para seguir las instrucciones y enviar la tarea de Spark SQL al servicio de Dataproc mediante la CLI de gcloud, laGoogle Cloud consola o la API REST de Dataproc.
gcloud
Consola
Sigue estos pasos para usar la Google Cloud consola y enviar el trabajo de Spark SQL al servicio Dataproc para crear una tabla Iceberg con metadatos en BigLake Metastore.
REST
Puedes usar la API jobs.submit de Dataproc para enviar la tarea de Spark SQL al servicio de Dataproc y crear una tabla de Iceberg con metadatos en el almacén de metadatos de BigLake.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
Método HTTP y URL:
POST https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION/jobs:submit
Cuerpo JSON de la solicitud:
{ "projectId": "PROJECT_ID", "job": { "placement": { "clusterName": "CLUSTER_NAME" }, "statusHistory": [], "reference": { "jobId": "", "projectId": "PROJECT_ID" }, "sparkSqlJob": { "properties": { "spark.sql.catalog."CATALOG_NAME": "org.apache.iceberg.spark.SparkCatalog", "spark.sql.catalog."CATALOG_NAME".catalog-impl": "org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog", "spark.sql.catalog."CATALOG_NAME".gcp_project": "PROJECT_ID", "spark.sql.catalog."CATALOG_NAME".gcp_location": "LOCATION", "spark.sql.catalog."CATALOG_NAME".warehouse": "gs://BUCKET/WAREHOUSE_FOLDER" }, "jarFileUris": [ "gs://BUCKET/iceberg-spark-runtime-3.5_2.12-1.5.2.jar,gs://spark-lib/bigquery/iceberg-bigquery-catalog-1.5.2-1.0.1-beta.jar" ], "scriptVariables": {}, "queryFileUri": "gs://BUCKET/iceberg-table.sql" } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "reference": { "projectId": "PROJECT_ID", "jobId": "..." }, "placement": { "clusterName": "CLUSTER_NAME", "clusterUuid": "..." }, "status": { "state": "PENDING", "stateStartTime": "..." }, "submittedBy": "USER", "sparkSqlJob": { "queryFileUri": "gs://BUCKET/iceberg-table.sql", "properties": { "spark.sql.catalog.USER_catalog": "org.apache.iceberg.spark.SparkCatalog", "spark.sql.catalog.USER_catalog.catalog-impl": "org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog", "spark.sql.catalog.USER_catalog.gcp_project": "PROJECT_ID", "spark.sql.catalog.USER_catalog.gcp_location": "LOCATION", "spark.sql.catalog.USER_catalog.warehouse": "gs://BUCKET/WAREHOUSE_FOLDER" }, "jarFileUris": [ "gs://BUCKET/iceberg-spark-runtime-3.5_2.12-1.5.2.jar", "gs://spark-lib/bigquery/iceberg-bigquery-catalog-1.5.2-1.0.1-beta.jar" ] }, "driverControlFilesUri": "gs://dataproc-...", "driverOutputResourceUri": "gs://dataproc-.../driveroutput", "jobUuid": "...", "region": "REGION" }
Para monitorizar el progreso de un trabajo y ver su salida, ve a la página Trabajos de Dataproc en la Google Cloud consola y, a continuación, haz clic en
Job ID
para abrir la página Detalles del trabajo.Para ver los metadatos de una tabla en BigQuery
CLI de Spark SQL
En los pasos siguientes se muestra cómo crear una tabla Iceberg con metadatos de tabla almacenados en BigLake Metastore mediante la CLI de Spark SQL que se ejecuta en el nodo maestro de un clúster de Dataproc.
Interfaz web de Zeppelin
En los siguientes pasos se muestra cómo crear una tabla de Iceberg con metadatos de tabla almacenados en BigLake Metastore mediante la interfaz web de Zeppelin que se ejecuta en el nodo maestro de un clúster de Dataproc .