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 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 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:
- 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 herramientadwh-migration-dumper
. - Para validar el archivo ZIP de la herramienta de
dwh-migration-dumper
, descarga el archivoSHA256SUMS.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.
- 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. - 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 |
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. | Sí | |
--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 Esta marca no se puede usar junto con el conector |
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. | 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 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. |
Sí | |
--query-log-alternates |
Solo para el conector Para extraer los registros de consultas de una ubicación alternativa, te recomendamos que uses las marcas
De forma predeterminada, los registros de consultas se extraen de las tablas Ejemplo: |
No | |
-Dteradata.tmode |
El modo de transacción para 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 tablas unidas que se especifican mediante las marcas Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata-logs.query-logs-table |
Solo para el conector
De forma predeterminada, los registros de utilidad 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 de 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 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 los recursos SPMA se extraen de la tabla Ejemplo (Bash): Ejemplo (Windows PowerShell): |
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: |
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: |
No | |
-Dteradata.metadata.tablesizev.max-rows |
Solo para el conector Limita la cantidad de filas extraídas de la vista Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata.metadata.diskspacev.max-rows |
Solo para el conector Limita la cantidad de filas extraídas de la vista Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata.metadata.databasesv.users.max-rows |
Solo para el conector
Limita la cantidad de filas que representan a los usuarios ( Ejemplo (Bash): Ejemplo (Windows PowerShell): |
No | |
-Dteradata.metadata.databasesv.dbs.max-rows |
Solo para el conector Limita la cantidad 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 cuando se extraen 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 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 aDBC.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 Identity and Access Management (IAM) de AWS y una clave secreta.
- 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. | Sí | |
--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
Úsala junto con la marca |
No es explícito, pero debes proporcionar información de autenticación mediante uno de los siguientes métodos:
|
|
--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
No uses esta marca con las marcas |
No es explícito, pero debes proporcionar información de autenticación mediante uno de los siguientes métodos:
|
|
--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
Úsala junto con la marca |
No es explícito, pero debes proporcionar información de autenticación mediante uno de los siguientes métodos:
|
|
--password |
La contraseña que se usará para la conexión de la base de datos.
No uses esta marca con las marcas |
No es explícito, pero debes proporcionar información de autenticación mediante uno de los siguientes métodos:
|
|
--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. | Sí | |
--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: |
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: |
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.
Apache Hive/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, Spark, Presto o Trino mediante 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 |
Obligatorio para la evaluación. No es necesario para la traducción. | |
--connector |
El nombre del conector que se usará, en este caso, hiveql. | Sí | |
--hive-metastore-dump-partition-metadata |
verdadero |
Hace que la herramienta
No uses esta marca con la marca |
No |
--hive-metastore-version |
2.3.6 |
Cuando ejecutas la herramienta de |
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 Debe ser igual al valor del parámetro
Ejemplo (Bash): Ejemplo (Windows PowerShell): |
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. | Sí | |
--database |
El nombre de la base de datos a la que te conectarás. |
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. | 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 usará para la conexión de la base de datos. | Sí | |
--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. | 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 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. | Sí | |
--database |
El nombre de la base de datos a la que te conectarás. |
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. | 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 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. | Sí |
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. | Sí | |
--database |
Una lista de las bases de datos que se extraen, separadas por comas. |
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. | 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 usará para la conexión de la base de datos. | Sí | |
--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. | Sí |
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. | Sí | |
--database |
El nombre de la base de datos a la que te conectarás. |
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. | 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 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. | Sí |
Ejemplos
En el siguiente ejemplo, se muestra cómo extraer metadatos para una base de datos de PostgreSQL en un host especificado:
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 descargas de Oracle.
En la siguiente tabla, se describen las marcas de uso general para extraer metadatos de Oracle 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, oracle. | 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. | Sí | |
--host |
localhost | El nombre de host o la dirección IP del servidor de la base de datos. | No |
--oracle-service |
El nombre del servicio de Oracle que se usará para la conexión. |
No es explícito, pero debes especificar esta marca o la marca --oracle-sid . |
|
--oracle-sid |
El identificador del sistema de Oracle (SID) que se usará para la conexión. |
No es explícito, pero debes especificar esta marca o la marca --oracle-service . |
|
--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 |
1521 | 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.
El usuario que especifiques debe tener el rol |
Sí |
Ejemplos
En el siguiente ejemplo, se muestra cómo extraer metadatos para una base de datos de Oracle en un host específico 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 de uso general para extraer metadatos de Snowflake mediante la herramienta de dwh-migration-dumper
. 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, snowflake. | Sí | |
--database |
El nombre de la base de datos a la que te conectarás. Solo puedes extraer información de una base de datos a la vez desde Snowflake. |
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 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. | |
--role |
El rol de Snowflake para usar en la autorización. Solo debes especificarlo para las instalaciones grandes en las que necesitas obtener metadatos del esquema SNOWFLAKE.ACCOUNT_USAGE en lugar de INFORMATION_SCHEMA . Para obtener más información, consulta Trabaja con instancias grandes de Snowflake.
|
No | |
--user |
El nombre de usuario que se usará para la conexión de la base de datos. |
Sí | |
--warehouse |
El almacén de Snowflake que se usa para procesar consultas de metadatos. |
Sí |
Ejemplos
En el siguiente ejemplo, se muestra cómo extraer los metadatos de una base de datos de Snowflake de tamaño típico en el host local:
dwh-migration-dumper \
--connector snowflake \
--database database \
--password password \
--user user \
--warehouse warehouse
En el siguiente ejemplo, se muestra cómo extraer metadatos para una base de datos grande de Snowflake en un host especificado:
dwh-migration-dumper \
--connector snowflake \
--database database \
--host "account.snowflakecomputing.com" \
--password password \
--role role \
--user user \
--warehouse warehouse
Trabaja con instancias grandes de Snowflake
La herramienta dwh-migration-dumper
lee los metadatos desde el INFORMATION_SCHEMA
de Snowflake. Sin embargo, existe un límite en la cantidad de datos que se pueden recuperar de INFORMATION_SCHEMA
. Si ejecutas la herramienta de extracción y recibes el error SnowflakeSQLException:
Information schema query returned too much data
, debes hacer los siguientes pasos para poder leer los metadatos del esquema SNOWFLAKE.ACCOUNT_USAGE
:
- Abre la opción Recursos compartidos en la interfaz web de Snowflake.
Crea una base de datos a partir del recurso compartido
SNOWFLAKE.ACCOUNT_USAGE
:-- CREATE DATABASE database FROM SHARE SNOWFLAKE.ACCOUNT_USAGE;
Crear un rol:
CREATE ROLE role;
Otorga privilegios
IMPORTED
a rol de la base de datos nueva:GRANT IMPORTED PRIVILEGES ON DATABASE database TO ROLE role;
Otorga el rol al usuario que deseas 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 la página de descargas.
En la siguiente tabla, se describen las marcas de uso general para extraer metadatos de Vertica 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, vertica. | Sí | |
--database |
El nombre de la base de datos a la que te conectarás. |
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. | 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 usará para la conexión de la base de datos. | Sí | |
--port |
5433 | 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. | 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 compatibles.
Nombre | Descripción |
---|---|
--connector |
El nombre del conector para el sistema de origen. |
--database |
El uso varía según el sistema de origen. |
--driver |
La ruta de acceso absoluta o relativa al archivo JAR del controlador que se usará para conectarse al sistema de origen. Puedes especificar varios archivos JAR de controladores, separados por comas. |
--dry-run o -n . |
Muestra las acciones que harí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 base de datos al que se conectará. |
--jdbcDriverClass |
De manera opcional, anula el nombre de la clase del controlador de JDBC especificado por el proveedor. Úsalo si tienes un cliente JDBC personalizado. |
--output |
La ruta de acceso del archivo ZIP de salida. Por ejemplo, dir1/dir2/teradata-metadata.zip . Si no especificas una ruta de acceso, el archivo de salida se crea en tu directorio de trabajo. Si especificas la ruta de acceso a un directorio, se crea el nombre de archivo ZIP predeterminado en el directorio especificado. Si el directorio no existe, se creará.
Para usar Cloud Storage, usa el siguiente formato: Para autenticarte con credenciales de Google Cloud, consulta Autentícate para usar las bibliotecas cliente. |
--password |
La contraseña que se usará para la conexión de la base de datos. |
--port |
El puerto del servidor de base de datos. |
--save-response-file |
Guarda las marcas de la línea de comandos en un archivo JSON para volver a usarlas con facilidad. 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 a ella con el prefijo @ cuando ejecutes la herramienta de extracción, por ejemplo dwh-migration-dumper @path/to/dumper-response-file.json .
|
--schema |
Una lista de los esquemas que se extraerán, separados por comas.
Oracle no distingue entre un esquema y el usuario de base de datos que creó el esquema, por lo que puedes usar nombres de esquema o de usuario con la marca |
--thread-pool-size |
Establece el tamaño del conjunto de subprocesos, que afecta el tamaño del grupo de conexiones.
El tamaño predeterminado del conjunto de subprocesos es la cantidad de núcleos en el servidor que ejecuta la herramienta de Si la herramienta de extracción parece lenta o necesita más recursos, puedes aumentar la cantidad de subprocesos usados. Si hay indicios de que otros procesos del servidor requieren más ancho de banda, puedes reducir la cantidad de subprocesos usados. |
--url |
La URL que se usará para la conexión de la base de datos, en lugar del URI generado por el controlador JDBC. El URI generado debe ser suficiente en la mayoría de los casos. Solo anula el URI generado cuando necesites usar una configuración de conexión JDBC específica para la plataforma de origen y que aún no esté establecida por una de las marcas enumeradas en esta tabla. |
--user |
El nombre de usuario que se usará para la conexión de la base de datos. |
--version |
Muestra la versión del producto. |
Soluciona problemas
En esta sección, se explican algunos problemas habituales y técnicas de solución de problemas para la herramienta de dwh-migration-dumper
.
Error Out of memory
El error java.lang.OutOfMemoryError
en el resultado de la terminal de la herramienta dwh-migration-dumper
a menudo se relaciona con la memoria insuficiente para procesar los datos recuperados.
Para solucionar este problema, aumenta la memoria disponible o reduce la cantidad de subprocesos de procesamiento.
Puedes aumentar la memoria máxima si exportas la variable de entorno JAVA_OPTS
:
Linux
export JAVA_OPTS="-Xmx4G"
Windows
set JAVA_OPTS="-Xmx4G"
Puedes reducir la cantidad de subprocesos de procesamiento (el valor predeterminado es 32) si incluyes la marca --thread-pool-size
. Esta opción solo es compatible con los conectores hiveql
y redshift*
.
dwh-migration-dumper --thread-pool-size=1
Controla un error WARN...Task failed
Es posible que, a veces, veas un error WARN [main]
o.c.a.d.MetadataDumper [MetadataDumper.java:107] Task failed: …
en el resultado de la terminal de la herramienta de dwh-migration-dumper
. La herramienta de extracción envía varias consultas al sistema de origen y el resultado de cada una se escribe en su propio archivo. Ver este problema indica que una de estas consultas falló. Sin embargo, la falla de una consulta no impide la ejecución de las otras. Si ves más de un par de errores WARN
, revisa los detalles del problema y verifica si hay algo que necesites corregir para que la consulta se ejecute de forma correcta.
Por ejemplo, si el usuario de la base de datos que especificaste cuando ejecutaste la herramienta de extracción no tiene los permisos necesarios para leer todos los metadatos, vuelve a intentarlo con un usuario que tenga los permisos correctos.
Archivo ZIP dañado
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
El resultado OK
confirma la verificación correcta de la suma de verificación. Cualquier otro mensaje indica un error de verificación:
FAILED: computed checksum did NOT match
: El archivo ZIP está dañado y debe volver a descargarse.FAILED: listed file could not be read
: No se puede ubicar 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 de actualización y se coloquen en el mismo directorio.
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.
La extracción de registros de consulta de Teradata es lenta
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. 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
WindowsPowerShell
dwh-migration-dumper ` "-Dteradata-logs.query-logs-table=historicdb.ArchivedQryLogV" ` "-Dteradata-logs.sql-logs-table=historicdb.ArchivedDBQLSqlTbl" ` "-Dteradata-logs.log-date-column=ArchiveLogDate"
Se superó 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 excede el límite, el volcador falla con el siguiente mensaje: none
[Error 9804] [SQLState HY000] Response Row size or Constant Row size overflow
Para resolver este error, extiende el límite de filas a 1 MB o divide las filas en varias filas:
- Instala y habilita la función 1MB Perm and Response Rows y el software de TTU actual. Para obtener más información, consulta Mensaje 9804 de la base de datos de Teradata.
- Divide el texto largo de la consulta en varias filas mediante 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 consulta largo en varias filas de como máximo 10,000 caracteres cada una:
Bash
dwh-migration-dumper \ --connector teradata \ -Dteradata.metadata.max-text-length=10000
WindowsPowerShell
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 consulta largo en varias filas de como máximo 10,000 caracteres cada una:
Bash
dwh-migration-dumper \ --connector teradata-logs \ -Dteradata-logs.max-sql-length=10000
WindowsPowerShell
dwh-migration-dumper ` --connector teradata-logs ` "-Dteradata-logs.max-sql-length=10000"
Problema de conexión de Oracle
En casos comunes, como una contraseña o un nombre de host no válidos, la herramienta dwh-migration-dumper
imprime un mensaje de error significativo que describe el problema principal. Sin embargo, en algunos
casos, el mensaje de error que muestra 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 estableció la conexión con el servidor de Oracle, pero el servidor no aceptó al cliente y cerró la conexión. Por lo general, este problema ocurre cuando el servidor solo acepta conexiones TCPS
. De forma predeterminada, la herramienta dwh-migration-dumper
usa el protocolo TCP
. Para resolver este problema, debes reemplazar la URL de conexión de JDBC de Oracle.
En lugar de proporcionar las marcas oracle-service
, host
y port
, puedes resolver este problema proporcionando la marca url
en el siguiente formato: jdbc:oracle:thin:@tcps://{HOST_NAME}:{PORT}/{ORACLE_SERVICE}
. Por lo general, el número de puerto TCPS
que usa el servidor de Oracle es 2484
.
Ejemplo de comando de volcado:
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 debas proporcionar la configuración de SSL de trustStore que se requiere para verificar el certificado del servidor de Oracle. Si falta la configuración de SSL, se mostrará un mensaje de error Unable to find valid
certification path
. Para resolver este problema, configura 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"
Según la configuración de tu servidor de Oracle, es posible que también debas proporcionar la configuración del almacén de claves. Consulta SSL con el controlador JDBC de Oracle para obtener más información sobre las opciones de configuración.
¿Qué sigue?
Después de ejecutar la herramienta dwh-migration-dumper
, sube el resultado a Cloud Storage junto con los archivos fuente para su traducción.