Migra los metadatos de Dataproc Metastore al metastore de BigQuery
En este documento, se explica cómo usar la herramienta de migración de metastore de BigQuery, que te ayuda a mover metadatos de bases de datos, tablas y particiones de un servicio de Metastore de Dataproc al metastore de BigQuery.
Antes de comenzar
- Habilita la facturación para tu proyecto de Google Cloud . Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.
Habilita las APIs de BigQuery y Dataflow.
Opcional: Obtén más información sobre los siguientes temas:
- Comprende cómo funciona el metastore de BigQuery y por qué deberías usarlo.
- Obtén información sobre cómo funciona Dataflow y cómo supervisar un trabajo en curso.
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:
-
Crear 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 visor de metadatos (
roles/metastore.metadataViewer
) en la cuenta de servicio de Dataflow que ejecuta la tarea 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 a BigQuery Metastore.
No puedes acceder a los datos de Dataproc Metastore directamente desde el metastore de BigQuery. 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 al metastore de BigQuery.
Consideraciones
- La herramienta de migración admite instancias de Dataproc Metastore que usan el protocolo de extremo 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 a BigQuery Metastore.
Limitaciones
La herramienta de migración no migra metadatos no relacionados con las particiones de la base de datos y las 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 de flex de Dataflow. Para ello, ejecuta 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 el metastore de BigQuery escribe datos. Por ejemplo, si estableces este valor enUS
, todos los recursos de BigQuery que crea la herramienta se almacenan en esta ubicación.NETWORK
: Opcional: Es la red para ejecutar el trabajo de Dataflow. Solo es obligatorio para los servicios de Dataproc Metastore que usan un extremo de Thrift.SUBNETWORK
: Opcional: Es la subred para ejecutar el trabajo de Dataflow. Solo es obligatorio para los servicios de Dataproc Metastore que usan un extremo de Thrift.
¿Qué sigue?
- Cómo usar el metastore de BigQuery con Dataproc
- Cómo usar el metastore de BigQuery con Dataproc sin servidores