Genera metadatos para la traducción y la evaluación

En este documento, se describe cómo crear metadatos y consultar archivos de registro mediante la herramienta de extracción de línea de comandos de dwh-migration-dumper. Los archivos de metadatos describen los objetos SQL en tu sistema de origen.

El Servicio de migración de BigQuery usa esta información para mejorar la traducción de tus secuencias de comandos de SQL de tu dialecto del sistema de origen a GoogleSQL.

La evaluación de migración de BigQuery usa archivos de metadatos y archivos de registro de consultas para analizar tu almacén de datos existente y ayudar a evaluar el esfuerzo de trasladar tu almacén de datos a BigQuery.

Descripción general

Puedes usar la herramienta dwh-migration-dumper para extraer información de metadatos de la plataforma de base de datos que migras a BigQuery. Si bien el uso de la herramienta de extracción no es necesario para la traducción, es necesario para la evaluación de migración de BigQuery y lo recomendamos para todas las tareas de migración.

Para obtener más información, consulta Crea archivos de metadatos.

Puedes usar la herramienta dwh-migration-dumper para extraer metadatos de las siguientes plataformas de base de datos:

  • Teradata
  • Amazon Redshift
  • Apache Hive
  • Apache Impala
  • Apache Spark
  • Azure Synapse
  • Greenplum
  • SQL Server
  • IBM Netezza
  • Oracle
  • PostgreSQL
  • Snowflake
  • Trino o PrestoSQL
  • Vertica
  • BigQuery

En la mayoría de estas bases de datos, también puedes extraer los registros de consultas.

La herramienta dwh-migration-dumper consulta las tablas del sistema para recopilar declaraciones en lenguaje de definición de datos (DDL) relacionadas con bases de datos del sistema y del usuario. No consulta el contenido de las bases de datos de usuarios. La herramienta guarda la información de metadatos de las tablas del sistema como archivos CSV y, luego, los comprime en un solo paquete. Luego, debes subir este archivo ZIP a Cloud Storage cuando subes los archivos de origen para su traducción o evaluación.

Cuando se usa la opción de registros de consulta, la herramienta dwh-migration-dumper consulta las tablas del sistema en busca de declaraciones DDL y registros de consulta relacionados con bases de datos de usuarios y del sistema. Se guardan en formato CSV o yaml en un subdirectorio y, luego, se empaquetan en formato ZIP. En ningún momento, se consulta el contenido de las bases de datos de usuarios. En este punto, la evaluación de migración de BigQuery requiere archivos individuales CSV, YAML y de texto para los registros de consultas, por lo que debes descomprimir todos estos archivos del archivo ZIP de registros de consulta y subirlos para su evaluación.

La herramienta dwh-migration-dumper se puede ejecutar en Windows, macOS y Linux.

La herramienta dwh-migration-dumper está disponible con la licencia de Apache 2.

Si eliges no usar la herramienta dwh-migration-dumper para la traducción, puedes proporcionar archivos de metadatos de forma manual mediante la recopilación de las instrucciones del lenguaje de definición de datos (DDL) para los objetos de SQL en tu sistema de origen en archivos de texto separados.

Debes proporcionar metadatos y registros de consultas extraídos con la herramienta para evaluar la migración mediante la evaluación de migración de BigQuery.

Requisitos de cumplimiento

Proporcionamos el objeto binario de la herramienta de dwh-migration-dumper compilada para facilitar su uso. Si necesitas auditar la herramienta para asegurarte de que cumpla con los requisitos de cumplimiento, puedes revisar el código fuente del repositorio de GitHub de la herramienta dwh-migration-dumper y compilar su propio objeto binario.

Requisitos previos

Instala Java

El servidor en el que planeas ejecutar la herramienta dwh-migration-dumper debe tener instalado Java 8 o una versión posterior. Si no es así, descarga Java desde la página de descargas de Java y, luego, instálalo.

Permisos necesarios

La cuenta de usuario que especifiques para conectar la herramienta dwh-migration-dumper al sistema de origen debe tener permisos para leer los metadatos de ese sistema. Confirma que esta cuenta tenga la membresía de rol adecuada para consultar los recursos de metadatos disponibles para tu plataforma. Por ejemplo, INFORMATION_SCHEMA es un recurso de metadatos común en varias plataformas.

Instala la herramienta dwh-migration-dumper

Para instalar la herramienta dwh-migration-dumper, sigue estos pasos:

  1. En la máquina en la que deseas ejecutar la herramienta dwh-migration-dumper, descarga el archivo ZIP desde el repositorio de GitHub de la herramienta dwh-migration-dumper.
  2. Para validar el archivo ZIP de la herramienta de dwh-migration-dumper, descarga el archivo SHA256SUMS.txt y ejecuta el siguiente comando:

    Bash

    sha256sum --check SHA256SUMS.txt

    Si la verificación falla, consulta Solución de problemas.

    WindowsPowerShell

    (Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]

    Reemplaza RELEASE_ZIP_FILENAME por el nombre del archivo ZIP descargado de la versión de la herramienta de extracción de línea de comandos de dwh-migration-dumper, por ejemplo, dwh-migration-tools-v1.0.52.zip.

    El resultado True confirma la verificación correcta de la suma de verificación.

    El resultado False indica un error de verificación. Asegúrate de que los archivos de suma de comprobación y ZIP se descarguen de la misma versión de actualización y se coloquen en el mismo directorio.

  3. Extrae el archivo ZIP. El objeto binario de la herramienta de extracción está en el subdirectorio /bin de la carpeta creada mediante la extracción del archivo ZIP.

  4. Actualiza la variable de entorno PATH para incluir la ruta de instalación para la herramienta de extracción.

Ejecuta la herramienta dwh-migration-dumper

La herramienta dwh-migration-dumper usa el siguiente formato:

dwh-migration-dumper [FLAGS]

Cuando ejecutas la herramienta dwh-migration-dumper, se crea un archivo de salida llamado dwh-migration-<source platform>-metadata.zip, por ejemplo, dwh-migration-teradata-metadata.zip, en tu directorio de trabajo.

Usa las siguientes instrucciones para obtener información sobre cómo ejecutar la herramienta dwh-migration-dumper para la plataforma de origen.

Teradata

Para permitir que la herramienta dwh-migration-dumper se conecte a Teradata, descarga su controlador JDBC de la página de descargas de Teradata.

En la siguiente tabla, se describen las marcas de uso general para la extracción de metadatos de Teradata y registros de consultas mediante la herramienta extracción. Para obtener información sobre todas las marcas compatibles, consulta Marcas globales.

Nombre Valor predeterminado Descripción Obligatorio
--assessment

Activa el modo de evaluación cuando se generan registros de bases de datos o se extraen metadatos. La herramienta de dwh-migration-dumper genera las estadísticas de metadatos necesarias para la evaluación de migración de BigQuery cuando se usa para extraer metadatos. Cuando se usa para los registros de consultas, extrae columnas adicionales para la evaluación de migración de BigQuery.

Es obligatorio cuando se usa para ejecutar la evaluación y no es obligatorio para la traducción.
--connector El nombre del conector que se usará, en este caso teradata para metadatos o teradata-logs para los registros de consulta.
--database

Una lista de las bases de datos que se extraen, separadas por comas. Los nombres de las bases de datos pueden distinguir mayúsculas de minúsculas, según la configuración del servidor de Teradata.

Si esta marca se usa en combinación con el conector teradata, la herramienta dwh-migration-dumper filtra las tablas de metadatos y vistas según la lista proporcionada de bases de datos. Las excepciones son las vistas DatabasesV y RoleMembersV: la herramienta de dwh-migration-dumper extrae las bases de datos y los usuarios de estas vistas sin filtrar por el nombre de la base de datos.

Esta marca no se puede usar junto con el conector teradata-logs. Los registros de consultas siempre se extraen para todas las bases de datos.

No
--driver La ruta absoluta o relativa al archivo JAR del controlador que se usará para esta conexión. Puedes especificar varios archivos JAR de controladores, separados por comas.
--host localhost El nombre de host o la dirección IP del servidor de la base de datos. No
--password La contraseña que se usará para la conexión de la base de datos. Si no se especifica, la herramienta de extracción usa un mensaje seguro para solicitarlo.
--port 1025 El puerto del servidor de base de datos. No
--user

El nombre de usuario que se usará para la conexión de la base de datos.

--query-log-alternates

Solo para el conector teradata-logs.

Para extraer los registros de consultas de una ubicación alternativa, te recomendamos que uses las marcas -Dteradata-logs.query-logs-table y -Dteradata-logs.sql-logs-table.

De forma predeterminada, los registros de consultas se extraen de las tablas dbc.DBQLogTbl y dbc.DBQLSQLTbl. Si usas la marca --assessment, los registros de consultas se extraen de la vista dbc.QryLogV y de la tabla dbc.DBQLSQLTbl. Si necesitas extraer los registros de consulta de una ubicación alternativa, puedes especificar los nombres completamente calificados de las tablas o vistas mediante la marca --query-log-alternates. El primer parámetro hace referencia a la alternativa a la tabla dbc.DBQLogTbl y el segundo parámetro hace referencia a la alternativa a la tabla dbc.DBQLSQLTbl. Ambos parámetros son obligatorios.
La marca -Dteradata-logs.log-date-column se puede usar para mejorar el rendimiento de la extracción cuando ambas tablas tienen una columna indexada de tipo DATE.

Ejemplo: --query-log-alternates historicdb.ArchivedQryLogV,historicdb.ArchivedDBQLSqlTbl

No
-Dteradata.tmode

El modo de transacción para la conexión. Se admiten los siguientes valores:

  • ANSI: Modo ANSI. Este es el modo predeterminado (si no se especifica la marca)
  • TERA: Modo de transacción de Teradata (BTET)
  • DEFAULT: Usa el modo de transacción predeterminado configurado en el servidor de la base de datos
  • NONE: No se estableció ningún modo para la conexión

Ejemplo (Bash):
-Dteradata.tmode=TERA

Ejemplo (Windows PowerShell):
"-Dteradata.tmode=TERA"

No
-Dteradata-logs.log-date-column

Solo para el conector teradata-logs.

Para mejorar el rendimiento de las tablas unidas que se especifican mediante las marcas -Dteradata-logs.query-logs-table y -Dteradata-logs.sql-logs-table, puedes incluir una columna adicional de tipo DATE en la condición JOIN. Esta columna debe definirse en ambas tablas y debe ser parte del índice principal particionado.

Ejemplo (Bash):
-Dteradata-logs.log-date-column=ArchiveLogDate

Ejemplo (Windows PowerShell):
"-Dteradata-logs.log-date-column=ArchiveLogDate"

No
-Dteradata-logs.query-logs-table

Solo para el conector teradata-logs.

De forma predeterminada, los registros de utilidad se extraen de la tabla dbc.DBQLogTbl. Si usas la marca --assessment, los registros de consultas se extraen de la vista dbc.QryLogV. Si necesitas extraer los registros de consultas de una ubicación alternativa, puedes especificar el nombre completamente calificado de la tabla o vista mediante esta marca.
Consulta la marca -Dteradata-logs.log-date-column para mejorar el rendimiento de la extracción.

Ejemplo (Bash):
-Dteradata-logs.query-logs-table=historicdb.ArchivedQryLogV

Ejemplo (Windows PowerShell):
"-Dteradata-logs.query-logs-table=historicdb.ArchivedQryLogV"

No
-Dteradata-logs.sql-logs-table

Solo para el conector teradata-logs.

De forma predeterminada, los registros de consultas que contienen texto de SQL se extraen de la tabla dbc.DBQLSqlTbl. Si necesitas extraerlos de una ubicación alternativa, puedes especificar el nombre completamente calificado de la tabla o vista mediante esta marca.
Consulta la marca -Dteradata-logs.log-date-column para mejorar el rendimiento de la extracción.

Ejemplo (Bash):
-Dteradata-logs.sql-logs-table=historicdb.ArchivedDBQLSqlTbl

Ejemplo (Windows PowerShell):
"-Dteradata-logs.sql-logs-table=historicdb.ArchivedDBQLSqlTbl"

No
-Dteradata-logs.utility-logs-table

Solo para el conector teradata-logs.

De forma predeterminada, los registros de utilidad se extraen de la tabla dbc.DBQLUtilityTbl. Si necesitas extraer los registros de la utilidad de una ubicación alternativa, puedes especificar el nombre completamente calificado de la tabla usando la marca -Dteradata-logs.utility-logs-table.

Ejemplo (Bash):
-Dteradata-logs.utility-logs-table=historicdb.ArchivedUtilityLogs

Ejemplo (Windows PowerShell):
"-Dteradata-logs.utility-logs-table=historicdb.ArchivedUtilityLogs"

No
-Dteradata-logs.res-usage-scpu-table

Solo para el conector teradata-logs.

De forma predeterminada, los registros de uso de recursos de SCPU se extraen de la tabla dbc.ResUsageScpu. Si necesitas extraerlos de una ubicación alternativa, puedes especificar el nombre completamente calificado de la tabla mediante la marca -Dteradata-logs.res-usage-scpu-table.

Ejemplo (Bash):
-Dteradata-logs.res-usage-scpu-table=historicdb.ArchivedResUsageScpu

Ejemplo (Windows PowerShell):
"-Dteradata-logs.res-usage-scpu-table=historicdb.ArchivedResUsageScpu"

No
-Dteradata-logs.res-usage-spma-table

Solo para el conector teradata-logs.

De forma predeterminada, los registros de uso de los recursos SPMA se extraen de la tabla dbc.ResUsageSpma. Si necesitas extraer estos registros de una ubicación alternativa, puedes especificar el nombre completamente calificado de la tabla usando la marca -Dteradata-logs.res-usage-spma-table.

Ejemplo (Bash):
-Dteradata-logs.res-usage-spma-table=historicdb.ArchivedResUsageSpma

Ejemplo (Windows PowerShell):
"-Dteradata-logs.res-usage-spma-table=historicdb.ArchivedResUsageSpma"

No
--query-log-start

La hora de inicio (incluida) de los registros de consulta que se extraerán. El valor se trunca a la hora. Esta marca solo está disponible para el conector teradata-logs.

Ejemplo: --query-log-start "2023-01-01 14:00:00"

No
--query-log-end

La hora de finalización (no incluida) de los registros de consulta que se extraerán. El valor se trunca a la hora. Esta marca solo está disponible para el conector teradata-logs.

Ejemplo: --query-log-end "2023-01-15 22:00:00"

No
-Dteradata.metadata.tablesizev.max-rows

Solo para el conector teradata.

Limita la cantidad de filas extraídas de la vista TableSizeV. Las filas se agrupan según las columnas DatabaseName, AccountName y TableName y, luego, se ordenan de forma descendente según el tamaño del espacio permanente (la expresión SUM(CurrentPerm)). Luego, se extrae la cantidad de filas especificada.

Ejemplo (Bash):
-Dteradata.metadata.tablesizev.max-rows=100000

Ejemplo (Windows PowerShell):
"-Dteradata.metadata.tablesizev.max-rows=100000"

No
-Dteradata.metadata.diskspacev.max-rows

Solo para el conector teradata.

Limita la cantidad de filas extraídas de la vista DiskSpaceV. Las filas se ordenan de forma descendente según el tamaño del espacio permanente (columna CurrentPerm) y, luego, se extrae la cantidad especificada de filas.

Ejemplo (Bash):
-Dteradata.metadata.diskspacev.max-rows=100000

Ejemplo (Windows PowerShell):
"-Dteradata.metadata.diskspacev.max-rows=100000"

No
-Dteradata.metadata.databasesv.users.max-rows

Solo para el conector teradata.

Limita la cantidad de filas que representan a los usuarios (DBKind='U') que se extraen de la vista DatabasesV. Las filas se ordenan en orden descendente según la columna PermSpace y, luego, se extrae la cantidad especificada de filas.

Ejemplo (Bash):
-Dteradata.metadata.databasesv.users.max-rows=100000

Ejemplo (Windows PowerShell):
"-Dteradata.metadata.databasesv.users.max-rows=100000"

No
-Dteradata.metadata.databasesv.dbs.max-rows

Solo para el conector teradata.

Limita la cantidad de filas que representan bases de datos (DBKind='D') que se extraen de la vista DatabasesV. Las filas se ordenan en orden descendente según la columna PermSpace y, luego, se extrae la cantidad especificada de filas.

Ejemplo (Bash):
-Dteradata.metadata.databasesv.dbs.max-rows=100000

Ejemplo (Windows PowerShell):
"-Dteradata.metadata.databasesv.dbs.max-rows=100000"

No
-Dteradata.metadata.max-text-length

Solo para el conector teradata.

Longitud máxima de la columna de texto cuando se extraen los datos de la vista TableTextV. El texto más largo que el límite definido se dividirá en varias filas. Rango permitido: entre 5,000 y 32,000 (inclusive)

Ejemplo (Bash):
-Dteradata.metadata.max-text-length=10000

Ejemplo (Windows PowerShell):
"-Dteradata.metadata.max-text-length=10000"

No
-Dteradata-logs.max-sql-length

Solo para el conector teradata-logs.

Longitud máxima de la columna DBQLSqlTbl.SqlTextInfo. El texto de consulta más largo que el límite definido se dividirá en varias filas. Rango permitido: entre 5,000 y 31,000 (inclusive).

Ejemplo (Bash):
-Dteradata-logs.max-sql-length=10000

Ejemplo (Windows PowerShell):
"-Dteradata-logs.max-sql-length=10000"

No

Ejemplos

En el siguiente ejemplo, se muestra cómo extraer los metadatos de dos bases de datos de Teradata en el host local:

dwh-migration-dumper \
  --connector teradata \
  --user user \
  --password password \
  --database database1,database2 \
  --driver path/terajdbc4.jar

En el siguiente ejemplo, se muestra cómo extraer los registros de consultas para la evaluación en el host local para la autenticación:

dwh-migration-dumper \
  --connector teradata-logs \
  --assessment \
  --user user \
  --password password \
  --driver path/terajdbc4.jar

Tablas y vistas extraídas por la herramienta de dwh-migration-dumper

Las siguientes tablas y vistas se extraen cuando usas el conector teradata:

  • DBC.ColumnsV
  • DBC.DatabasesV
  • DBC.DBCInfo
  • DBC.FunctionsV
  • DBC.IndicesV
  • DBC.PartitioningConstraintsV
  • DBC.TablesV
  • DBC.TableTextV

Las siguientes tablas y vistas adicionales se extraen cuando se usa el conector teradata con la marca --assessment:

  • DBC.All_RI_ChildrenV
  • DBC.All_RI_ParentsV
  • DBC.AllTempTablesVX
  • DBC.DiskSpaceV
  • DBC.RoleMembersV
  • DBC.StatsV
  • DBC.TableSizeV

Las siguientes tablas y vistas se extraen cuando usas el conector teradata-logs:

  • DBC.DBQLogTbl (cambia a DBC.QryLogV si se usa la marca --assessment)
  • DBC.DBQLSqlTbl

Las siguientes tablas y vistas adicionales se extraen cuando se usa el conector teradata-logs con la marca --assessment:

  • DBC.DBQLUtilityTbl
  • DBC.ResUsageScpu
  • DBC.ResUsageSpma

Redshift

Puedes usar cualquiera de los siguientes mecanismos de autenticación y autorización de Amazon Redshift con la herramienta de extracción:

  • Un nombre de usuario y una contraseña.
  • Un ID de clave de acceso y una clave secreta de AWS Identity and Access Management (IAM).
  • Un nombre de perfil de IAM de AWS.

Para autenticarte con el nombre de usuario y la contraseña, usa el controlador JDBC predeterminado de Amazon Redshift. Para autenticar con AWS IAM, usa el controlador JDBC de Amazon Redshift, que puedes descargar desde su página de descarga.

En la siguiente tabla, se describen las marcas más usadas para extraer metadatos de Amazon Redshift y registros de consultas mediante la herramienta dwh-migration-dumper. Para obtener información sobre todas las marcas compatibles, consulta Marcas globales.

Nombre Valor predeterminado Descripción Obligatorio
--assessment

Activa el modo de evaluación cuando se generan registros de bases de datos o se extraen metadatos. Genera estadísticas de metadatos obligatorias para la evaluación de migración de BigQuery cuando se usa para extraer metadatos. Cuando se usa para extraer registros de consultas, genera estadísticas de métricas de consultas para la evaluación de migración de BigQuery.

Es obligatorio cuando se ejecuta en modo de evaluación y no es obligatorio para la traducción.
--connector El nombre del conector que se usará, en este caso redshift para metadatos o redshift-raw-logs para los registros de consultas.
--database Si no se especifica, Amazon Redshift usa el valor --user como el nombre de la base de datos predeterminada.

El nombre de la base de datos a la que te conectarás.

No
--driver Si no se especifica, Amazon Redshift usa el controlador PostgreSQL JDBC predeterminado. La ruta absoluta o relativa al archivo JAR del controlador que se usará para esta conexión. Puedes especificar varios archivos JAR de controladores, separados por comas. No
--host localhost El nombre de host o la dirección IP del servidor de la base de datos. No
--iam-accesskeyid

El ID de la clave de acceso de IAM de AWS que se usará para la autenticación. La clave de acceso es una cadena de caracteres, similar a AKIAIOSFODNN7EXAMPLE.

Úsala junto con la marca --iam-secretaccesskey. No uses esta marca cuando especifiques las marcas --iam-profile o --password.

No es explícito, pero debes proporcionar información de autenticación mediante uno de los siguientes métodos:

  • Usa esta marca junto con la marca --iam-secretaccesskey.
  • Usa la marca --iam-profile.
  • Usa las marcas --password y --user.
--iam-profile

El perfil de IAM de AWS que se usará para la autenticación. Para recuperar un valor de perfil para usarlo, examina el archivo $HOME/.aws/credentials o ejecuta aws configure list-profiles.

No uses esta marca con las marcas --iam-accesskeyid, --iam-secretaccesskey o --password.

No es explícito, pero debes proporcionar información de autenticación mediante uno de los siguientes métodos:

  • Usa esta marca.
  • Usa la marca --iam-accesskeyid junto con la marca --iam-secretaccesskey.
  • Usa las marcas --password y --user.
--iam-secretaccesskey

La clave de acceso secreta de IAM de AWS que se usará para la autenticación. La clave de acceso secreta es una cadena de caracteres, similar a wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.

Úsala junto con la marca --iam-accesskeyid. No uses esta marca con las marcas --iam-profile o --password.

No es explícito, pero debes proporcionar información de autenticación mediante uno de los siguientes métodos:

  • Usa esta marca junto con la marca --iam-accesskeyid.
  • Usa la marca --iam-profile.
  • Usa las marcas --password y --user.
--password La contraseña que se usará para la conexión de la base de datos.

No uses esta marca con las marcas --iam-accesskeyid, --iam-secretaccesskey o --iam-profile.

No es explícito, pero debes proporcionar información de autenticación mediante uno de los siguientes métodos:

  • Usa esta marca junto con la marca --user.
  • Usa la marca --iam-accesskeyid junto con la marca --iam-secretaccesskey.
  • Usa la marca --password.
--port 5439 El puerto del servidor de base de datos. No
--user El nombre de usuario que se usará para la conexión de la base de datos.
--query-log-start

La hora de inicio (incluida) de los registros de consulta que se extraerán. El valor se trunca a la hora. Esta marca solo está disponible para el conector redshift-raw-logs.

Ejemplo: --query-log-start "2023-01-01 14:00:00"

No
--query-log-end

La hora de finalización (no incluida) de los registros de consulta que se extraerán. El valor se trunca a la hora. Esta marca solo está disponible para el conector redshift-raw-logs.

Ejemplo: --query-log-end "2023-01-15 22:00:00"

No

Ejemplos

En el siguiente ejemplo, se muestra cómo extraer metadatos de una base de datos de Amazon Redshift en un host especificado con las claves de IAM de AWS para la autenticación:

dwh-migration-dumper \
  --connector redshift \
  --database database \
  --driver path/redshift-jdbc42-version.jar \
  --host host.region.redshift.amazonaws.com \
  --iam-accesskeyid access_key_ID \
  --iam-secretaccesskey secret_access-key \
  --user user

En el siguiente ejemplo, se muestra cómo extraer metadatos de una base de datos de Amazon Redshift en el host predeterminado con el nombre de usuario y la contraseña para la autenticación:

dwh-migration-dumper \
  --connector redshift \
  --database database \
  --password password \
  --user user

En el siguiente ejemplo, se muestra cómo extraer metadatos de una base de datos de Amazon Redshift en un host especificado mediante un perfil de IAM de AWS para la autenticación:

dwh-migration-dumper \
  --connector redshift \
  --database database \
  --driver path/redshift-jdbc42-version.jar \
  --host host.region.redshift.amazonaws.com \
  --iam-profile profile \
  --user user \
  --assessment

En el siguiente ejemplo, se muestra cómo extraer registros de consulta para la evaluación de una base de datos de Amazon Redshift en un host especificado mediante un perfil de IAM de AWS para la autenticación:

dwh-migration-dumper \
  --connector redshift-raw-logs \
  --database database \
  --driver path/redshift-jdbc42-version.jar \
  --host 123.456.789.012 \
  --iam-profile profile \
  --user user \
  --assessment

Tablas y vistas extraídas por la herramienta de dwh-migration-dumper

Las siguientes tablas y vistas se extraen cuando usas el conector redshift:

  • SVV_COLUMNS
  • SVV_EXTERNAL_COLUMNS
  • SVV_EXTERNAL_DATABASES
  • SVV_EXTERNAL_PARTITIONS
  • SVV_EXTERNAL_SCHEMAS
  • SVV_EXTERNAL_TABLES
  • SVV_TABLES
  • SVV_TABLE_INFO
  • INFORMATION_SCHEMA.COLUMNS
  • PG_CAST
  • PG_DATABASE
  • PG_LANGUAGE
  • PG_LIBRARY
  • PG_NAMESPACE
  • PG_OPERATOR
  • PG_PROC
  • PG_TABLE_DEF
  • PG_TABLES
  • PG_TYPE
  • PG_VIEWS

Las siguientes tablas y vistas adicionales se extraen cuando se usa el conector redshift con la marca --assessment:

  • SVV_DISKUSAGE
  • STV_MV_INFO
  • STV_WLM_SERVICE_CLASS_CONFIG
  • STV_WLM_SERVICE_CLASS_STATE

Las siguientes tablas y vistas se extraen cuando usas el conector redshift-raw-logs:

  • STL_DDLTEXT
  • STL_QUERY
  • STL_QUERYTEXT
  • PG_USER

Las siguientes tablas y vistas adicionales se extraen cuando se usa el conector redshift-raw-logs con la marca --assessment:

  • STL_QUERY_METRICS
  • SVL_QUERY_QUEUE_INFO
  • STL_WLM_QUERY

Para obtener información sobre las vistas del sistema y las tablas de Redshift, consulta Vistas del sistema de Redshift y Tablas del catálogo del sistema de Redshift.

Hive/Impala/Spark o Trino/PrestoSQL

La herramienta dwh-migration-dumper solo admite la autenticación en el almacén de metadatos de Apache Hive a través de Kerberos. Por lo tanto, no se usan las marcas --user y --password. En su lugar, usa la marca --hive-kerberos-url para proporcionar los detalles de autenticación de Kerberos.

En la siguiente tabla, se describen las marcas de uso general para extraer metadatos de Apache Hive, Impala, Spark, Presto o Trino con la herramienta de extracción. Para obtener información sobre todas las marcas compatibles, consulta Marcas globales.

Nombre Valor predeterminado Descripción Obligatorio
--assessment

Activa el modo de evaluación cuando se extraen metadatos. La herramienta de dwh-migration-dumper genera las estadísticas de metadatos necesarias para la evaluación de migración de BigQuery cuando se usa para extraer metadatos.

Obligatorio para la evaluación. No es necesario para la traducción.
--connector El nombre del conector que se usará, en este caso, hiveql.
--hive-metastore-dump-partition-metadata verdadero

Hace que la herramienta dwh-migration-dumper vuelque los metadatos de la partición. Te recomendamos establecer esta marca en false para el almacén de metadatos de producción con una cantidad significativa de particiones, debido a las implicaciones de rendimiento del cliente de Thrift. Esto mejora el rendimiento de la herramienta de extracción, pero provoca una pérdida de optimización de la partición en el lado de BigQuery.

No uses esta marca con la marca --assessment, ya que no tendrá efecto.

No
--hive-metastore-version 2.3.6

Cuando ejecutas la herramienta de dwh-migration-dumper, esta elige la especificación de Thrift adecuada para comunicarse con el servidor de Apache Hive, en función del valor de esta marca. Si la herramienta de extracción no tiene una especificación de Thrift adecuada, usa el cliente 2.3.6 y emite una advertencia a stdout. Si esto ocurre, comunícate con el equipo de asistencia y proporciona el número de versión de Apache Hive que solicitaste.

No
--host localhost El nombre de host o la dirección IP del servidor de la base de datos. No
--port 9083 El puerto del servidor de base de datos. No
--hive-kerberos-url El principal y el host de Kerberos que se usarán para la autenticación. Obligatorio para los clústeres con la autenticación de Kerberos habilitada.
-Dhiveql.rpc.protection

El nivel de configuración de protección de RPC. Esto determina la calidad de protección (QOP) de la Capa de seguridad y autenticación simple (SASL) entre el clúster y la herramienta de dwh-migration-dumper.

Debe ser igual al valor del parámetro hadoop.rpc.protection dentro del archivo /etc/hadoop/conf/core-site.xml en el clúster, con uno de los siguientes valores:

  • authentication
  • integrity
  • privacy

Ejemplo (Bash):
-Dhiveql.rpc.protection=privacy

Ejemplo (Windows PowerShell):
"-Dhiveql.rpc.protection=privacy"

Obligatorio para los clústeres con la autenticación de Kerberos habilitada.

Ejemplos

En el siguiente ejemplo, se muestra cómo extraer metadatos para una base de datos de Hive 2.3.7 en un host específico, sin autenticación y con un puerto alternativo para la conexión:

dwh-migration-dumper \
  --connector hiveql \
  --hive-metastore-version 2.3.7 \
  --host host \
  --port port

Para usar la autenticación de Kerberos, accede como un usuario que tenga permisos de lectura para el almacén de metadatos de Hive y genera un ticket de Kerberos. Luego, genera el archivo ZIP de metadatos con el siguiente comando:

JAVA_OPTS="-Djavax.security.auth.useSubjectCredsOnly=false" \
  dwh-migration-dumper \
  --connector hiveql \
  --host host \
  --port port \
  --hive-kerberos-url principal/kerberos_host

Azure Synapse o Microsoft SQL Server

Para permitir que la herramienta de dwh-migration-dumper se conecte a Azure Synapse o a Microsoft SQL Server, descarga su controlador JDBC desde la página de descargas de Microsoft.

En la siguiente tabla, se describen las marcas de uso frecuente para extraer metadatos de Azure Synapse o Microsoft SQL Server mediante la herramienta de extracción. Para obtener información sobre todas las marcas compatibles, consulta Marcas globales.

Nombre Valor predeterminado Descripción Obligatorio
--connector El nombre del conector que se usará, en este caso, sqlserver.
--database

El nombre de la base de datos a la que te conectarás.

--driver La ruta absoluta o relativa al archivo JAR del controlador que se usará para esta conexión. Puedes especificar varios archivos JAR de controladores, separados por comas.
--host localhost El nombre de host o la dirección IP del servidor de la base de datos. No
--password La contraseña que se usará para la conexión de la base de datos.
--port 1433 El puerto del servidor de base de datos. No
--user El nombre de usuario que se usará para la conexión de la base de datos.

Ejemplos

En el siguiente ejemplo, se muestra cómo extraer metadatos de una base de datos de Azure Synapse en un host especificado:

dwh-migration-dumper \
  --connector sqlserver \
  --database database \
  --driver path/mssql-jdbc.jar \
  --host server_name.sql.azuresynapse.net \
  --password password \
  --user user

Greenplum

Para permitir que la herramienta dwh-migration-dumper se conecte a Greenplum, descarga su controlador JDBC desde la página de descargas de VMware Greenplum.

En la siguiente tabla, se describen las marcas de uso frecuente para extraer metadatos de Greenplum con la herramienta de extracción. Para obtener información sobre todas las marcas compatibles, consulta Marcas globales.

Nombre Valor predeterminado Descripción Obligatorio
--connector El nombre del conector que se usará, en este caso, greenplum.
--database

El nombre de la base de datos a la que te conectarás.

--driver La ruta absoluta o relativa al archivo JAR del controlador que se usará para esta conexión. Puedes especificar varios archivos JAR de controladores, separados por comas.
--host localhost El nombre de host o la dirección IP del servidor de la base de datos. No
--password La contraseña que se usará para la conexión de la base de datos. Si no se especifica, la herramienta de extracción usa un mensaje seguro para solicitarlo.
--port 5432 El puerto del servidor de base de datos. No
--user El nombre de usuario que se usará para la conexión de la base de datos.

Ejemplos

En el siguiente ejemplo, se muestra cómo extraer metadatos para una base de datos de Greenplum en un host especificado:

dwh-migration-dumper \
  --connector greenplum \
  --database database \
  --driver path/greenplum.jar \
  --host host \
  --password password \
  --user user \

Netezza

Para permitir que la herramienta dwh-migration-dumper se conecte a IBM Netezza, debes obtener su controlador JDBC. Por lo general, puedes obtener el controlador desde el directorio /nz/kit/sbin en el host de tu dispositivo IBM Netezza. Si no puedes ubicarlo allí, pídele ayuda al administrador del sistema o lee Instala y configura JDBC en la documentación de IBM Netezza.

En la siguiente tabla, se describen las marcas de uso general para extraer metadatos de IBM Netezza con la herramienta de extracción. Para obtener información sobre todas las marcas compatibles, consulta Marcas globales.

Nombre Valor predeterminado Descripción Obligatorio
--connector El nombre del conector que se usará, en este caso, netezza.
--database

Una lista de las bases de datos que se extraen, separadas por comas.

--driver La ruta absoluta o relativa al archivo JAR del controlador que se usará para esta conexión. Puedes especificar varios archivos JAR de controladores, separados por comas.
--host localhost El nombre de host o la dirección IP del servidor de la base de datos. No
--password La contraseña que se usará para la conexión de la base de datos.
--port 5480 El puerto del servidor de base de datos. No
--user El nombre de usuario que se usará para la conexión de la base de datos.

Ejemplos

En el siguiente ejemplo, se muestra cómo extraer metadatos para dos bases de datos de IBM Netezza en un host especificado:

dwh-migration-dumper \
  --connector netezza \
  --database database1,database2 \
  --driver path/nzjdbc.jar \
  --host host \
  --password password \
  --user user

PostgreSQL

Para permitir que la herramienta dwh-migration-dumper se conecte a PostgreSQL, descarga su controlador JDBC de la página de descargas de PostgreSQL.

En la siguiente tabla, se describen las marcas de uso frecuente para extraer metadatos de Oracle con la herramienta de extracción. Para obtener información sobre todas las marcas compatibles, consulta Marcas globales.

Nombre Valor predeterminado Descripción Obligatorio
--connector El nombre del conector que se usará, en este caso, postgresql.
--database

El nombre de la base de datos a la que te conectarás.

--driver La ruta absoluta o relativa al archivo JAR del controlador que se usará para esta conexión. Puedes especificar varios archivos JAR de controladores, separados por comas.