Generar metadatos para la traducción y la evaluación
En este documento se describe cómo crear metadatos y consultar archivos de registro con la herramienta de extracción de línea de comandos dwh-migration-dumper
. Los archivos de metadatos describen los objetos SQL de tu sistema de origen.
BigQuery Migration Service usa esta información para mejorar la traducción de tus secuencias de comandos SQL del dialecto de tu sistema de origen a GoogleSQL.
La evaluación de la migración a BigQuery usa archivos de metadatos y archivos de registro de consultas para analizar tu almacén de datos y ayudarte a evaluar el esfuerzo que supone migrarlo a BigQuery.
Información general
Puede usar la herramienta dwh-migration-dumper
para extraer información de metadatos de la plataforma de base de datos a la que va a migrar a BigQuery. Aunque no es obligatorio usar la herramienta de extracción para traducir, sí lo es para la evaluación de la migración a BigQuery. Por eso, te recomendamos que la uses en todas las tareas de migración.
Para obtener más información, consulta Crear archivos de metadatos.
Puedes usar la herramienta dwh-migration-dumper
para extraer metadatos de las siguientes plataformas de bases de datos:
- Teradata
- Amazon Redshift
- Apache Hive
- Apache Spark
- Azure Synapse
- Greenplum
- Microsoft SQL Server
- IBM Netezza
- Oracle
- PostgreSQL
- Snowflake
- Trino o PrestoSQL
- Vertica
En la mayoría de estas bases de datos, también puede extraer registros de consultas.
La herramienta dwh-migration-dumper
consulta las tablas del sistema para recoger instrucciones del lenguaje de definición de datos (DDL) relacionadas con las bases de datos de usuarios y del sistema. No consulta el contenido de las bases de datos de los usuarios. La herramienta guarda la información de metadatos de las tablas del sistema como archivos CSV y, a continuación, comprime estos archivos en un único paquete. Después, sube este archivo zip a Cloud Storage cuando subas los archivos de origen para traducirlos o evaluarlos.
Cuando se usa la opción de registros de consultas, la herramienta dwh-migration-dumper
consulta las tablas del sistema para obtener instrucciones DDL y registros de consultas relacionados con las bases de datos de usuarios y del sistema. Se guardan en formato CSV o YAML en un subdirectorio y, a continuación, se empaquetan en un archivo ZIP. En ningún momento se consultan los contenidos de las bases de datos de los usuarios. En este punto, la evaluación de la migración de BigQuery requiere archivos CSV, YAML y de texto individuales para los registros de consultas, por lo que debes descomprimir todos estos archivos del archivo ZIP de registros de consultas y subirlos para la evaluación.
La herramienta dwh-migration-dumper
se puede ejecutar en Windows, macOS y Linux.
La herramienta dwh-migration-dumper
está disponible bajo la licencia Apache 2.
Si decides no usar la herramienta dwh-migration-dumper
para traducir, puedes proporcionar manualmente archivos de metadatos. Para ello, recopila las instrucciones del lenguaje de definición de datos (DDL) de los objetos SQL de tu sistema de origen en archivos de texto independientes.
Para realizar una evaluación de la migración con la herramienta de evaluación de la migración de BigQuery, es necesario proporcionar los metadatos y los registros de consultas extraídos con la herramienta.
Requisitos de cumplimiento
Proporcionamos el archivo binario compilado de la herramienta dwh-migration-dumper
para que sea más fácil de usar. Si necesitas auditar la herramienta para asegurarte de que cumple los requisitos, puedes revisar el código fuente en el repositorio de GitHub de la herramienta dwh-migration-dumper
y compilar tu propio archivo binario.
Requisitos previos
Instalar Java
El servidor en el que tienes previsto 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 e instálalo.
Permisos obligatorios
La cuenta de usuario que especifiques para conectar la herramienta dwh-migration-dumper
al sistema de origen debe tener permisos para leer metadatos de ese sistema.
Confirma que esta cuenta tiene la pertenencia al rol adecuada para consultar los recursos de metadatos disponibles para tu plataforma. Por ejemplo, INFORMATION_SCHEMA
es un recurso de metadatos que es común en varias plataformas.
Instalar la herramienta dwh-migration-dumper
Para instalar la herramienta dwh-migration-dumper
, sigue estos pasos:
- En la máquina en la que quieras ejecutar la herramienta
dwh-migration-dumper
, descarga el archivo ZIP del repositorio de GitHub de la herramientadwh-migration-dumper
. Para validar el archivo ZIP de la herramienta
dwh-migration-dumper
, descarga el archivoSHA256SUMS.txt
y ejecuta el siguiente comando:Bash
sha256sum --check SHA256SUMS.txt
Si la verificación falla, consulta la sección Solución de problemas.
Windows PowerShell
(Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]
Sustituye
RELEASE_ZIP_FILENAME
por el nombre del archivo ZIP descargado de la versión de la herramienta de extracción de línea de comandosdwh-migration-dumper
. Por ejemplo,dwh-migration-tools-v1.0.52.zip
.El resultado
True
confirma que la verificación de la suma de comprobación se ha realizado correctamente.El resultado
False
indica que se ha producido 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 y se coloquen en el mismo directorio.Extrae el archivo ZIP. El archivo binario de la herramienta de extracción se encuentra en el subdirectorio
/bin
de la carpeta creada al extraer el archivo ZIP.Actualiza la variable de entorno
PATH
para que incluya la ruta de instalación de la herramienta de extracción.
Ejecutar la herramienta dwh-migration-dumper
La herramienta dwh-migration-dumper
usa el siguiente formato:
dwh-migration-dumper [FLAGS]
Al ejecutar 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 el directorio de trabajo.
Sigue las instrucciones que se indican a continuación para aprender a ejecutar la herramienta dwh-migration-dumper
en tu plataforma de origen.
Teradata
Para permitir que la herramienta dwh-migration-dumper
se conecte a Teradata, descarga su controlador JDBC desde la página de descargas de Teradata.
En la siguiente tabla se describen las marcas que se suelen usar para extraer metadatos y registros de consultas de Teradata con la herramienta de extracción. Para obtener información sobre todas las marcas admitidas, consulte marcas globales.
Nombre | Valor predeterminado | Descripción | Obligatorio |
---|---|---|---|
--assessment |
Activa el modo de evaluación al generar registros de bases de datos o extraer metadatos.
La herramienta |
Obligatorio cuando se usa para realizar una evaluación, pero no para la traducción. | |
--connector |
El nombre del conector que se va a usar. En este caso, teradata para los metadatos o teradata-logs para los registros de consultas. | Sí | |
--database |
Lista de las bases de datos que se van a extraer, separadas por comas. Los nombres de las bases de datos pueden distinguir entre mayúsculas y minúsculas, en función de la configuración del servidor Teradata. Si esta marca se usa junto con el conector Esta marca no se puede usar junto con el conector |
No | |
--driver |
Ruta absoluta o relativa al archivo JAR del controlador que se va a usar para esta conexión. Puede especificar varios archivos JAR de controladores, separándolos con comas. | Sí | |
--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 va a usar para la conexión a la base de datos. | Si no se especifica, la herramienta de extracción usa una petición segura para solicitarlo. | |
--port |
1025 | El puerto del servidor de la base de datos. | No |
--user |
Nombre de usuario que se usará para la conexión de la base de datos. |
Sí | |
--query-log-alternates |
Solo para el conector Para extraer los registros de consultas de una ubicación alternativa, le recomendamos que use las marcas
De forma predeterminada, los registros de consultas se extraen de las tablas Ejemplo:
|
No | |
-Dteradata.tmode |
El modo de transacción de la conexión. Se admiten los siguientes valores:
Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata-logs.log-date-column |
Solo para el conector
Para mejorar el rendimiento de las uniones de tablas especificadas por las marcas Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata-logs.query-logs-table |
Solo para el conector
De forma predeterminada, los registros de consultas se extraen de la tabla Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata-logs.sql-logs-table |
Solo para el conector
De forma predeterminada, los registros de consultas que contienen texto SQL se extraen de la tabla Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata-logs.utility-logs-table |
Solo para el conector
De forma predeterminada, los registros de la utilidad se extraen de la tabla
Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata-logs.res-usage-scpu-table |
Solo para el conector
De forma predeterminada, los registros de uso de recursos de SCPU se extraen de la tabla Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata-logs.res-usage-spma-table |
Solo para el conector
De forma predeterminada, los registros de uso de recursos de SPMA se extraen de la tabla Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
--query-log-start |
La hora de inicio (incluida) de los registros de consultas que se van a extraer. El valor se trunca a la hora. Esta marca solo está disponible para el conector teradata-logs.
Ejemplo: |
No | |
--query-log-end |
La hora de finalización (exclusiva) de los registros de consultas que se van a extraer. El valor se trunca a la hora. Esta marca solo está disponible para el conector teradata-logs.
Ejemplo: |
No | |
-Dteradata.metadata.tablesizev.max-rows |
Solo para el conector Limita el número de filas extraídas de la vista.
Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata.metadata.diskspacev.max-rows |
Solo para el conector Limita el número de filas extraídas de la vista.
Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata.metadata.databasesv.users.max-rows |
Solo para el conector
Limita el número de filas que representan a los usuarios
( Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata.metadata.databasesv.dbs.max-rows |
Solo para el conector Limita el número de filas que representan bases de datos
( Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata.metadata.max-text-length |
Solo para el conector Longitud máxima de la columna de texto al extraer los datos de la vista Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata-logs.max-sql-length |
Solo para el conector Longitud máxima de la columna Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No |
Ejemplos
En el siguiente ejemplo se muestra cómo extraer 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 de Assessment 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 dwh-migration-dumper
Cuando usas el conector teradata
, se extraen las siguientes tablas y vistas:
DBC.ColumnsV
DBC.DatabasesV
DBC.DBCInfo
DBC.FunctionsV
DBC.IndicesV
DBC.PartitioningConstraintsV
DBC.TablesV
DBC.TableTextV
Se extraen las siguientes tablas y vistas adicionales cuando usas 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
Cuando usas el conector teradata-logs
, se extraen las siguientes tablas y vistas:
DBC.DBQLogTbl
(cambia aDBC.QryLogV
si se usa la marca--assessment
)DBC.DBQLSqlTbl
Se extraen las siguientes tablas y vistas adicionales cuando usas el conector teradata-logs
con la marca --assessment
:
DBC.DBQLUtilityTbl
DBC.ResUsageScpu
DBC.ResUsageSpma
Redshift
Puede 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 Gestión de Identidades y Accesos (IAM) de AWS.
- Nombre de un perfil de gestión de identidades y accesos de AWS.
Para autenticarte con el nombre de usuario y la contraseña, usa el controlador JDBC de PostgreSQL predeterminado de Amazon Redshift. Para autenticarte con la gestión de identidades y accesos de AWS, usa el controlador JDBC de Amazon Redshift, que puedes descargar desde su página de descarga.
En la siguiente tabla se describen las marcas que se suelen usar para extraer metadatos y registros de consultas de Amazon Redshift con la herramienta dwh-migration-dumper
. Para obtener información sobre todas las marcas admitidas, consulta las marcas globales.
Nombre | Valor predeterminado | Descripción | Obligatorio |
---|---|---|---|
--assessment |
Activar el modo de evaluación al generar registros de bases de datos o extraer metadatos. Genera las estadísticas de metadatos necesarias para la evaluación de la migración a BigQuery cuando se usa para la extracción de metadatos. Cuando se usa para extraer registros de consultas, genera estadísticas de métricas de consultas para evaluar la migración de BigQuery. |
Es obligatorio cuando se ejecuta en modo de evaluación, pero no para la traducción. | |
--connector |
El nombre del conector que se va a usar. En este caso, redshift para los metadatos o redshift-raw-logs para los registros de consultas. | Sí | |
--database |
Si no se especifica, Amazon Redshift usa el valor --user como nombre de base de datos predeterminado. |
Nombre de la base de datos a la que se va a conectar. |
No |
--driver |
Si no se especifica, Amazon Redshift usa el controlador JDBC de PostgreSQL predeterminado. | Ruta absoluta o relativa al archivo JAR del controlador que se va a usar para esta conexión. Puede especificar varios archivos JAR de controladores, separándolos con 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 clave de acceso de AWS IAM que se va a usar para la autenticación. La clave de acceso
es una cadena de caracteres, como
Se usa junto con la marca |
No explícitamente, pero debes proporcionar información de autenticación mediante uno de los siguientes métodos:
|
|
--iam-profile |
El perfil de AWS IAM que se va a usar para la autenticación. Para obtener un valor de perfil que puedas usar, examina el archivo
No uses esta marca con las marcas |
No explícitamente, pero debes proporcionar información de autenticación mediante uno de los siguientes métodos:
|
|
--iam-secretaccesskey |
La clave de acceso secreta de AWS IAM que se va a usar para la autenticación. La clave de acceso secreta es una cadena de caracteres, como
Se usa junto con la marca |
No explícitamente, pero debes proporcionar información de autenticación mediante uno de los siguientes métodos:
|
|
--password |
La contraseña que se va a usar para la conexión a la base de datos.
No uses esta marca con las marcas |
No explícitamente, pero debes proporcionar información de autenticación mediante uno de los siguientes métodos:
|
|
--port |
5439 | El puerto del servidor de la base de datos. | No |
--user |
Nombre de usuario que se usará para la conexión de la base de datos. | Sí | |
--query-log-start |
La hora de inicio (incluida) de los registros de consultas que se van a extraer. El valor se trunca a la hora. Esta marca solo está disponible para el conector redshift-raw-logs.
Ejemplo: |
No | |
--query-log-end |
La hora de finalización (exclusiva) de los registros de consultas que se van a extraer. El valor se trunca a la hora. Esta marca solo está disponible para el conector redshift-raw-logs.
Ejemplo: |
No |
Ejemplos
En el siguiente ejemplo se muestra cómo extraer metadatos de una base de datos de Amazon Redshift en un host específico mediante claves de AWS IAM 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 mediante 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 específico mediante un perfil de AWS IAM 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 los registros de consultas de Assessment de una base de datos de Amazon Redshift en un host específico mediante un perfil de AWS IAM 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 dwh-migration-dumper
Cuando usas el conector redshift
, se extraen las siguientes tablas y vistas:
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
Se extraen las siguientes tablas y vistas adicionales cuando usas el conector redshift
con la marca --assessment
:
SVV_DISKUSAGE
STV_MV_INFO
STV_WLM_SERVICE_CLASS_CONFIG
STV_WLM_SERVICE_CLASS_STATE
Cuando usas el conector redshift-raw-logs
, se extraen las siguientes tablas y vistas:
STL_DDLTEXT
STL_QUERY
STL_QUERYTEXT
PG_USER
Se extraen las siguientes tablas y vistas adicionales cuando usas 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 y las tablas del sistema de Redshift, consulta Vistas del sistema de Redshift y Tablas del catálogo del sistema de Redshift.
Apache Hive/Spark o Trino/PrestoSQL
La herramienta dwh-migration-dumper
solo admite la autenticación en el metastore de Apache Hive a través de Kerberos. Por lo tanto, no se usan las marcas --user
y --password
, sino la marca --hive-kerberos-url
para proporcionar los detalles de autenticación de Kerberos.
En la siguiente tabla se describen las marcas que se suelen usar para extraer metadatos de Apache Hive, Spark, Presto o Trino con la herramienta de extracción. Para obtener información sobre todas las marcas admitidas, consulta marcas globales.
Nombre | Valor predeterminado | Descripción | Obligatorio |
---|---|---|---|
--assessment |
Activa el modo de evaluación al extraer metadatos.
La herramienta |
Obligatorio para la evaluación. No es necesario para la traducción. | |
--connector |
El nombre del conector que se va a usar. En este caso, hiveql. | Sí | |
--hive-metastore-dump-partition-metadata |
true |
Hace que la herramienta
No uses esta marca con la marca |
No |
--hive-metastore-version |
2.3.6 |
Cuando ejecutas la herramienta |
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 la 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 Kerberos habilitada. | |
-Dhiveql.rpc.protection |
Nivel de configuración de protección de RPC. Determina la calidad de protección (QOP) de la conexión SASL (Simple Authentication and Security Layer) entre el clúster y la herramienta Debe ser igual al valor del parámetro
Ejemplo (Bash): Ejemplo (Windows PowerShell): |
Obligatorio para los clústeres con la autenticación Kerberos habilitada. |
Ejemplos
En el siguiente ejemplo se muestra cómo extraer metadatos de una base de datos de Hive 2.3.7 en un host específico, sin autenticación y usando 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, inicia sesión como un usuario que tenga permisos de lectura en el metastore de Hive y genera un ticket de Kerberos. A continuación, 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 dwh-migration-dumper
se conecte a Azure Synapse o Microsoft SQL Server, descarga su controlador JDBC desde la página de descarga de Microsoft.
En la siguiente tabla se describen las marcas que se suelen usar para extraer metadatos de Azure Synapse o Microsoft SQL Server con la herramienta de extracción. Para obtener información sobre todas las marcas admitidas, consulta marcas globales.
Nombre | Valor predeterminado | Descripción | Obligatorio |
---|---|---|---|
--connector |
El nombre del conector que se va a usar. En este caso, sqlserver. | Sí | |
--database |
Nombre de la base de datos a la que se va a conectar. |
Sí | |
--driver |
Ruta absoluta o relativa al archivo JAR del controlador que se va a usar para esta conexión. Puede especificar varios archivos JAR de controladores, separándolos con comas. | Sí | |
--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 va a usar para la conexión a la base de datos. | Sí | |
--port |
1433 | El puerto del servidor de la base de datos. | No |
--user |
Nombre de usuario que se usará para la conexión de la base de datos. | Sí |
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 descarga de VMware Greenplum.
En la siguiente tabla se describen las marcas que se suelen usar para extraer metadatos de Greenplum con la herramienta de extracción. Para obtener información sobre todas las marcas admitidas, consulte marcas globales.
Nombre | Valor predeterminado | Descripción | Obligatorio |
---|---|---|---|
--connector |
El nombre del conector que se va a usar. En este caso, greenplum. | Sí | |
--database |
Nombre de la base de datos a la que se va a conectar. |
Sí | |
--driver |
Ruta absoluta o relativa al archivo JAR del controlador que se va a usar para esta conexión. Puede especificar varios archivos JAR de controladores, separándolos con comas. | Sí | |
--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 va a usar para la conexión a la base de datos. | Si no se especifica, la herramienta de extracción usa una petición segura para solicitarlo. | |
--port |
5432 | El puerto del servidor de la base de datos. | No |
--user |
Nombre de usuario que se usará para la conexión de la base de datos. | Sí |
Ejemplos
En el siguiente ejemplo se muestra cómo extraer metadatos de una base de datos de Greenplum en un host específico:
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. Normalmente, puedes obtener el controlador del directorio /nz/kit/sbin
en el host de tu dispositivo IBM Netezza. Si no lo encuentras, pide ayuda a tu administrador del sistema o consulta el artículo Instalación y configuración de JDBC en la documentación de IBM Netezza.
En la siguiente tabla se describen las marcas que se suelen usar para extraer metadatos de IBM Netezza con la herramienta de extracción. Para obtener información sobre todas las marcas admitidas, consulte marcas globales.
Nombre | Valor predeterminado | Descripción | Obligatorio |
---|---|---|---|
--connector |
El nombre del conector que se va a usar. En este caso, netezza. | Sí | |
--database |
Lista de las bases de datos que se van a extraer, separadas por comas. |
Sí | |
--driver |
Ruta absoluta o relativa al archivo JAR del controlador que se va a usar para esta conexión. Puede especificar varios archivos JAR de controladores, separándolos con comas. | Sí | |
--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 va a usar para la conexión a la base de datos. | Sí | |
--port |
5480 | El puerto del servidor de la base de datos. | No |
--user |
Nombre de usuario que se usará para la conexión de la base de datos. | Sí |
Ejemplos
En el siguiente ejemplo se muestra cómo extraer metadatos de 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 desde la página de descarga de PostgreSQL.
En la siguiente tabla se describen las marcas que se suelen usar para extraer metadatos de PostgreSQL con la herramienta de extracción. Para obtener información sobre todas las marcas admitidas, consulte marcas globales.
Nombre | Valor predeterminado | Descripción | Obligatorio |
---|---|---|---|
--connector |
El nombre del conector que se va a usar. En este caso, postgresql. | Sí | |
--database |
Nombre de la base de datos a la que se va a conectar. |
Sí | |
--driver |
Ruta absoluta o relativa al archivo JAR del controlador que se va a usar para esta conexión. Puede especificar varios archivos JAR de controladores, separándolos con comas. | Sí | |
--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 va a usar para la conexión a la base de datos. | Si no se especifica, la herramienta de extracción usa una petición segura para solicitarlo. | |
--port |
5432 | El puerto del servidor de la base de datos. | No |
--user |
Nombre de usuario que se usará para la conexión de la base de datos. | Sí |
Ejemplos
En el siguiente ejemplo se muestra cómo extraer metadatos de una base de datos PostgreSQL en un host específico:
dwh-migration-dumper \
--connector postgresql \
--database database \
--driver path/postgresql-version.jar \
--host host \
--password password \
--user user
Oracle
Para permitir que la herramienta dwh-migration-dumper
se conecte a Oracle, descarga su controlador JDBC desde la página de descarga de Oracle.
En la siguiente tabla se describen las marcas que se suelen usar para extraer metadatos de Oracle con la herramienta de extracción. Para obtener información sobre todas las marcas admitidas, consulte marcas globales.
Nombre | Valor predeterminado | Descripción | Obligatorio |
---|---|---|---|
--connector |
El nombre del conector que se va a usar. En este caso, oracle. | Sí | |
--driver |
Ruta absoluta o relativa al archivo JAR del controlador que se va a usar para esta conexión. Puede especificar varios archivos JAR de controladores, separándolos con comas. | Sí | |
--host |
localhost | El nombre de host o la dirección IP del servidor de la base de datos. | No |
--oracle-service |
Nombre del servicio de Oracle que se va a usar para la conexión. |
No de forma explícita, pero debes especificar esta marca o la marca --oracle-sid . |
|
--oracle-sid |
El identificador de sistema (SID) de Oracle que se va a usar en la conexión. |
No de forma explícita, pero debes especificar esta marca o la marca --oracle-service . |
|
--password |
La contraseña que se va a usar para la conexión a la base de datos. | Si no se especifica, la herramienta de extracción usa una petición segura para solicitarlo. | |
--port |
1521 | El puerto del servidor de la base de datos. | No |
--user |
Nombre de usuario que se usará para la conexión de la base de datos.
El usuario que especifiques debe tener el rol |
Sí |
Ejemplos
En el siguiente ejemplo se muestra cómo extraer metadatos de una base de datos de Oracle en un host especificado mediante el servicio de Oracle para la conexión:
dwh-migration-dumper \
--connector oracle \
--driver path/ojdbc8.jar \
--host host \
--oracle-service service_name \
--password password \
--user user
Snowflake
En la siguiente tabla se describen las marcas que se suelen usar para extraer metadatos de Snowflake con la herramienta dwh-migration-dumper
. Para obtener información sobre todas las marcas admitidas, consulte marcas globales.
Nombre | Valor predeterminado | Descripción | Obligatorio |
---|---|---|---|
--assessment |
Activa el modo de evaluación al generar registros de bases de datos o extraer metadatos.
La herramienta |
Solo para la evaluación. | |
--connector |
El nombre del conector que se va a usar. En este caso, snowflake. | Sí | |
--database |
Nombre de la base de datos que se va a extraer. Solo puedes extraer datos de una base de datos a la vez de Snowflake. Esta marca no se permite en el modo de evaluación. |
Solo para traducción. | |
--host |
localhost | El nombre de host o la dirección IP del servidor de la base de datos. | No |
--private-key-file |
Ruta a la clave privada RSA que se usa para la autenticación. Te recomendamos que utilices un usuario |
No, si no se proporciona, la herramienta de extracción utiliza una autenticación basada en contraseñas. | |
--private-key-password |
La contraseña que se usó al crear la clave privada RSA. |
No, solo es necesario si la clave privada está cifrada. | |
--password |
La contraseña que se va a usar para la conexión a la base de datos. | Si no se especifica, la herramienta de extracción usa una petición segura para solicitarla. Sin embargo, te recomendamos que uses la autenticación basada en pares de claves. | |
--role |
El rol de Snowflake que se usará para la autorización. Solo tienes que especificarlo en instalaciones grandes en las que necesites obtener metadatos del esquema SNOWFLAKE.ACCOUNT_USAGE en lugar de INFORMATION_SCHEMA . Para obtener más información, consulta el artículo Trabajar con instancias grandes de Snowflake.
|
No | |
--user |
Nombre de usuario que se usará para la conexión de la base de datos. |
Sí | |
--warehouse |
El almacén de Snowflake que se usará para procesar las consultas de metadatos. |
Sí |
Ejemplos
En el siguiente ejemplo se muestra cómo extraer metadatos de una evaluación:
dwh-migration-dumper \
--connector snowflake \
--assessment \
--host "account.snowflakecomputing.com" \
--role role \
--user user \
--private-key-file private-key-file \
--private-key-password private-key-password \
--warehouse warehouse
En el siguiente ejemplo se muestra cómo extraer los metadatos de una base de datos de Snowflake de tamaño habitual en el host local:
dwh-migration-dumper \
--connector snowflake \
--database database \
--user user \
--private-key-file private-key-file \
--private-key-password private-key-password \
--warehouse warehouse
En el siguiente ejemplo se muestra cómo extraer metadatos de una base de datos de Snowflake grande en un host específico:
dwh-migration-dumper \
--connector snowflake \
--database database \
--host "account.snowflakecomputing.com" \
--role role \
--user user \
--private-key-file private-key-file \
--private-key-password private-key-password \
--warehouse warehouse
También puedes usar el siguiente ejemplo para extraer metadatos mediante la autenticación basada en contraseñas:
dwh-migration-dumper \
--connector snowflake \
--database database \
--host "account.snowflakecomputing.com" \
--password password \
--user user \
--warehouse warehouse
Trabajar con instancias de Snowflake grandes
La herramienta dwh-migration-dumper
lee los metadatos de Snowflake
INFORMATION_SCHEMA
. Sin embargo, hay un límite en la cantidad de datos que puedes recuperar de INFORMATION_SCHEMA
. Si ejecutas la herramienta de extracción y recibes el error SnowflakeSQLException:
Information schema query returned too much data
, debes seguir estos pasos para poder leer los metadatos del esquema SNOWFLAKE.ACCOUNT_USAGE
:
- Abre la opción Compartir en la interfaz web de Snowflake.
Crea una base de datos a partir del recurso compartido de
SNOWFLAKE.ACCOUNT_USAGE
:-- CREATE DATABASE database FROM SHARE SNOWFLAKE.ACCOUNT_USAGE;
Para crear un rol, sigue estos pasos:
CREATE ROLE role;
Concede privilegios a
IMPORTED
en la nueva base de datos:GRANT IMPORTED PRIVILEGES ON DATABASE database TO ROLE role;
Concede el rol al usuario que quieras usar para ejecutar la herramienta
dwh-migration-dumper
:GRANT ROLE role TO USER user;
Vertica
Para permitir que la herramienta dwh-migration-dumper
se conecte a Vertica, descarga su controlador JDBC desde su página de descarga.
En la siguiente tabla se describen las marcas que se suelen usar para extraer metadatos de Vertica con la herramienta de extracción. Para obtener información sobre todas las marcas admitidas, consulte marcas globales.
Nombre | Valor predeterminado | Descripción | Obligatorio |
---|---|---|---|
--connector |
El nombre del conector que se va a usar. En este caso, vertica. | Sí | |
--database |
Nombre de la base de datos a la que se va a conectar. |
Sí | |
--driver |
Ruta absoluta o relativa al archivo JAR del controlador que se va a usar para esta conexión. Puede especificar varios archivos JAR de controladores, separándolos con comas. | Sí | |
--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 va a usar para la conexión a la base de datos. | Sí | |
--port |
5433 | El puerto del servidor de la base de datos. | No |
--user |
Nombre de usuario que se usará para la conexión de la base de datos. | Sí |
Ejemplos
En el siguiente ejemplo se muestra cómo extraer metadatos de una base de datos de Vertica en el host local:
dwh-migration-dumper \
--driver path/vertica-jdbc.jar \
--connector vertica \
--database database
--user user
--password password
Marcas globales
En la siguiente tabla se describen las marcas que se pueden usar con cualquiera de las plataformas de origen admitidas.
Nombre | Descripción |
---|---|
--connector |
Nombre del conector del sistema de origen. |
--database |
El uso varía según el sistema de origen. |
--driver |
Ruta absoluta o relativa al archivo JAR del controlador que se va a usar al conectarse al sistema de origen. Puede especificar varios archivos JAR de controladores, separándolos con comas. |
--dry-run o -n |
Muestra las acciones que realizaría la herramienta de extracción sin ejecutarlas. |
--help |
Muestra la ayuda de la línea de comandos. |
--host |
El nombre de host o la dirección IP del servidor de la base de datos al que conectarse. |
--jdbcDriverClass |
Anula de forma opcional el nombre de la clase del controlador JDBC especificado por el proveedor. Úsalo si tienes un cliente JDBC personalizado. |
--output |
Ruta del archivo ZIP de salida. Por ejemplo, dir1/dir2/teradata-metadata.zip . Si no especificas ninguna ruta, el archivo de salida se creará en tu directorio de trabajo. Si especifica la ruta de un directorio, se creará el nombre de archivo zip predeterminado en el directorio especificado. Si el directorio no existe, se crea.
Para usar Cloud Storage, utiliza el siguiente formato: Para autenticarte con Google Cloud credenciales, consulta Autenticar para usar bibliotecas de cliente. |
--password |
La contraseña que se va a usar para la conexión a la base de datos. |
--port |
El puerto del servidor de la base de datos. |
--save-response-file |
Guarda las marcas de línea de comandos en un archivo JSON para que puedas reutilizarlas fácilmente. El archivo se llama dumper-response-file.json y se crea en el directorio de trabajo. Para usar el archivo de respuesta, proporciona la ruta de acceso
precedida por @ cuando ejecutes la herramienta de extracción, por
ejemplo, dwh-migration-dumper @path/to/dumper-response-file.json .
|
--schema |
Lista de los esquemas que se van a extraer, separados por comas.
Oracle no distingue entre un esquema y el usuario de la base de datos que creó el esquema, por lo que puede usar nombres de esquema o nombres de usuario con la marca |
--thread-pool-size |
Define el tamaño del grupo de subprocesos, lo que afecta al tamaño del grupo de conexiones.
El tamaño predeterminado del grupo de subprocesos es el número de núcleos del servidor que ejecuta la herramienta Si la herramienta de extracción parece lenta o necesita más recursos, puedes aumentar el número de subprocesos que utiliza. Si hay indicios de que otros procesos del servidor requieren más ancho de banda, puedes reducir el número de subprocesos utilizados. |
--url |
La URL que se va a usar para la conexión de la base de datos, en lugar del URI generado por el controlador JDBC. El URI generado debería ser suficiente en la mayoría de los casos. Solo debes anular el URI generado cuando necesites usar un ajuste de conexión JDBC que sea específico de la plataforma de origen y que no esté definido por una de las marcas que se indican en esta tabla. |
--user |
Nombre de usuario que se usará para la conexión de la base de datos. |
--version |
Muestra la versión del producto. |
--telemetry |
Recoge estadísticas sobre las características de rendimiento de las ejecuciones, como la duración, el número de ejecuciones y el uso de recursos. Esta opción está habilitada de forma predeterminada. Para inhabilitar la telemetría, asigna el valor |
Solución de problemas
En esta sección se explican algunos problemas habituales y técnicas para solucionar problemas con la herramienta dwh-migration-dumper
.
Error de falta de memoria
El error java.lang.OutOfMemoryError
en la salida de la terminal de la herramienta dwh-migration-dumper
suele estar relacionado con la falta de memoria para procesar los datos obtenidos.
Para solucionar este problema, aumenta la memoria disponible o reduce el número de hilos de procesamiento.
Puedes aumentar la memoria máxima exportando la variable de entorno JAVA_OPTS
:
Linux
export JAVA_OPTS="-Xmx4G"
Windows
set JAVA_OPTS="-Xmx4G"
Puedes reducir el número de hilos de procesamiento (el valor predeterminado es 32) incluyendo la marca --thread-pool-size
. Esta opción solo está disponible para los conectores hiveql
y redshift*
.
dwh-migration-dumper --thread-pool-size=1
Gestionar un error WARN...Task failed
A veces, puede que veas un error WARN [main]
o.c.a.d.MetadataDumper [MetadataDumper.java:107] Task failed: …
en la salida de la terminal de la herramienta dwh-migration-dumper
. La herramienta de extracción
envía varias consultas al sistema de origen y el resultado de cada consulta
se escribe en su propio archivo. Si se produce este problema, significa que una de estas consultas ha fallado. Sin embargo, si falla una consulta, no se impide la ejecución de las demás. Si ves más de un par de WARN
errores, revisa los detalles del problema y comprueba si hay algo que debas corregir para que la consulta se ejecute correctamente.
Por ejemplo, si el usuario de la base de datos que especificó al ejecutar la herramienta de extracción no tiene permisos para leer todos los metadatos, vuelva a intentarlo con un usuario que sí tenga los permisos correctos.
Archivo ZIP dañado
Para validar el archivo ZIP de la herramienta dwh-migration-dumper
, descarga el archivo SHA256SUMS.txt
y ejecuta el siguiente comando:
Bash
sha256sum --check SHA256SUMS.txt
El resultado OK
confirma que la verificación de la suma de comprobación se ha realizado correctamente. Cualquier otro mensaje
indica un error de verificación:
FAILED: computed checksum did NOT match
: el archivo ZIP está dañado y debe descargarse de nuevo.FAILED: listed file could not be read
: no se puede encontrar la versión del archivo ZIP. Asegúrate de que los archivos de suma de comprobación y ZIP se descarguen de la misma versión y se coloquen en el mismo directorio.
Windows PowerShell
(Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]
Sustituye 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 dwh-migration-dumper
. Por ejemplo, dwh-migration-tools-v1.0.52.zip
.
El resultado True
confirma que la verificación de la suma de comprobación se ha realizado correctamente.
El resultado False
indica que se ha producido 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 y se coloquen en el mismo directorio.
La extracción de registros de consultas de Teradata es lenta
Para mejorar el rendimiento de la unión de tablas especificadas por las marcas -Dteradata-logs.query-logs-table
y -Dteradata-logs.sql-logs-table
, puede incluir una columna adicional de tipo DATE
en la condición JOIN
. Esta columna debe definirse en ambas tablas y formar parte del índice principal particionado. Para incluir esta columna, usa la marca -Dteradata-logs.log-date-column
.
Ejemplo:
Bash
dwh-migration-dumper \ -Dteradata-logs.query-logs-table=historicdb.ArchivedQryLogV \ -Dteradata-logs.sql-logs-table=historicdb.ArchivedDBQLSqlTbl \ -Dteradata-logs.log-date-column=ArchiveLogDate
Windows PowerShell
dwh-migration-dumper ` "-Dteradata-logs.query-logs-table=historicdb.ArchivedQryLogV" ` "-Dteradata-logs.sql-logs-table=historicdb.ArchivedDBQLSqlTbl" ` "-Dteradata-logs.log-date-column=ArchiveLogDate"
Se ha superado el límite de tamaño de fila de Teradata
Teradata 15 tiene un límite de tamaño de fila de 64 kB. Si se supera el límite, el dumper falla y muestra el siguiente mensaje:
none
[Error 9804] [SQLState HY000] Response Row size or Constant Row size overflow
Para resolver este error, amplía el límite de filas a 1 MB o divide las filas en varias:
- Instala y habilita la función de 1 MB Perm y Response Rows, así como el software TTU actual. Para obtener más información, consulta el mensaje 9804 de la base de datos Teradata.
- Divide el texto de la consulta larga en varias filas con las marcas
-Dteradata.metadata.max-text-length
y-Dteradata-logs.max-sql-length
.
El siguiente comando muestra el uso de la marca -Dteradata.metadata.max-text-length
para dividir el texto de una consulta larga en varias filas de 10.000 caracteres como máximo cada una:
Bash
dwh-migration-dumper \ --connector teradata \ -Dteradata.metadata.max-text-length=10000
Windows PowerShell
dwh-migration-dumper ` --connector teradata ` "-Dteradata.metadata.max-text-length=10000"
El siguiente comando muestra el uso de la marca -Dteradata-logs.max-sql-length
para dividir el texto de una consulta larga en varias filas de 10.000 caracteres como máximo cada una:
Bash
dwh-migration-dumper \ --connector teradata-logs \ -Dteradata-logs.max-sql-length=10000
Windows PowerShell
dwh-migration-dumper ` --connector teradata-logs ` "-Dteradata-logs.max-sql-length=10000"
Problema de conexión de Oracle
En casos habituales, como una contraseña o un nombre de host no válidos, la herramienta dwh-migration-dumper
muestra un mensaje de error significativo que describe el problema principal. Sin embargo, en algunos casos, el mensaje de error devuelto por el servidor de Oracle puede ser genérico y difícil de investigar.
Uno de estos problemas es IO Error: Got minus one from a read call
. Este error indica que se ha establecido la conexión con el servidor de Oracle, pero el servidor no ha aceptado al cliente y ha cerrado la conexión. Este problema suele producirse cuando el servidor solo acepta conexiones TCPS
. De forma predeterminada, la herramienta dwh-migration-dumper
usa el protocolo TCP
. Para solucionar este problema, debes
anular la URL de conexión JDBC de Oracle.
En lugar de proporcionar las marcas oracle-service
, host
y port
, puede resolver este problema proporcionando la marca url
con el siguiente formato:
jdbc:oracle:thin:@tcps://{HOST_NAME}:{PORT}/{ORACLE_SERVICE}
. Normalmente, el número de puerto TCPS
que usa el servidor de Oracle es 2484
.
Comando de volcado de ejemplo:
dwh-migration-dumper \
--connector oracle-stats \
--url "jdbc:oracle:thin:@tcps://host:port/oracle_service" \
--assessment \
--driver "jdbc_driver_path" \
--user "user" \
--password
Además de cambiar el protocolo de conexión a TCPS, es posible que tengas que proporcionar la configuración SSL de trustStore que se necesita para verificar el certificado del servidor de Oracle. Si falta la configuración SSL, se mostrará un mensaje de error Unable to find valid
certification path
. Para resolver este problema, define la variable de entorno JAVA_OPTS:
set JAVA_OPTS=-Djavax.net.ssl.trustStore="jks_file_location" -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStorePassword="password"
En función de la configuración de tu servidor Oracle, es posible que también tengas que proporcionar la configuración de keyStore. Consulta SSL con el controlador JDBC de Oracle para obtener más información sobre las opciones de configuración.
Siguientes pasos
Después de ejecutar la herramienta dwh-migration-dumper
, sube el resultado a Cloud Storage junto con los archivos de origen para traducirlos.