Migra los metadatos de Dataproc Metastore al metastore de BigLake

En este documento, se explica cómo usar la herramienta de migración de BigLake Metastore, que te ayuda a transferir metadatos de bases de datos, tablas y particiones desde un servicio de Dataproc Metastore a BigLake Metastore.

Antes de comenzar

  1. Habilita la facturación para tu proyecto de Google Cloud . Obtén información para verificar si la facturación está habilitada en un proyecto.
  2. Habilita las APIs de BigQuery y Dataflow.

    Habilitar las API

  3. Opcional: Obtén más información sobre los siguientes temas:

Roles obligatorios

Para obtener los permisos que necesitas para ejecutar la herramienta de migración, pídele a tu administrador que te otorgue los siguientes roles de IAM:

  • Crea bases de datos, tablas y particiones en BigQuery: Editor de datos de BigQuery (roles/bigQuery.dataEditor) en la cuenta de servicio de Dataflow que ejecuta el trabajo de migración.
  • Otorga acceso de lectura a los metadatos de Dataproc Metastore en un extremo de gRPC: Rol de visualizador de metadatos (roles/metastore.metadataViewer) en la cuenta de servicio de Dataflow que ejecuta el trabajo de migración.

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Cómo funciona la herramienta de migración

La herramienta de migración inicia un trabajo de Dataflow que extrae metadatos de Dataproc Metastore y los transfiere al metastore de BigLake.

No puedes acceder a los datos de Dataproc Metastore directamente desde el metastore de BigLake. Este proceso de migración es necesario para ejecutar cargas de trabajo o trabajos en metadatos existentes. Si no usas esta herramienta, debes extraer manualmente los metadatos de Dataproc Metastore y transferirlos a BigLake Metastore.

Consideraciones

  • La herramienta de migración admite instancias de Dataproc Metastore que usan el protocolo de extremo de gRPC o Thrift.
  • Cada vez que ejecutas la herramienta de migración, el trabajo de Dataflow crea una copia completa de los metadatos de Dataproc Metastore en BigLake Metastore.

Limitaciones

La herramienta de migración no migra los metadatos que no están relacionados con las particiones de bases de datos y tablas. Si la herramienta no puede migrar una base de datos o una tabla, registra un mensaje en la instancia de Cloud Logging del proyecto que contiene el trabajo de Dataflow.

Después de que se registra el error, el trabajo de Dataflow continúa procesando otras tablas y bases de datos en la canalización.

Ejecuta una migración con la herramienta

Para ejecutar una migración con la herramienta, crea un trabajo de plantilla flexible de Dataflow ejecutando el siguiente comando gcloud dataflow flex-template.

gcloud dataflow flex-template run JOB_NAME" \
   --template-file-gcs-location "gs://bigquery-metastore-migration/dpms_to_bqms_migration.json" \
   --parameters bigQueryMetastoreProjectId="DESTINATION_BIGQUERY_PROJECT_ID" \
   --parameters endpointUri="METASTORE_URI" \
   --parameters bigQueryMetastoreDatabaseLocation=DATABASE_LOCATION \
  [--network=NETWORK] \
  [--subnetwork=SUBNETWORK]

Reemplaza lo siguiente:

  • JOB_NAME: Es el nombre del trabajo de Dataflow para ejecutar la migración.
  • DESTINATION_BIGQUERY_PROJECT_ID: Es el ID del proyecto de BigQuery en el que el trabajo de Dataflow escribe datos.
  • METASTORE_URI: Es el URI del servicio de Dataproc Metastore.
  • DATABASE_LOCATION: Es la ubicación en la que BigLake Metastore escribe los datos. Por ejemplo, si estableces este valor en US, todos los recursos de BigQuery que cree la herramienta se almacenarán en esta ubicación.
  • NETWORK: Opcional: Es la red en la que se ejecutará el trabajo de Dataflow. Solo se requiere para los servicios de Dataproc Metastore que usan un extremo de Thrift.
  • SUBNETWORK: Opcional: Es la subred en la que se ejecutará el trabajo de Dataflow. Solo se requiere para los servicios de Dataproc Metastore que usan un extremo de Thrift.

¿Qué sigue?