Genera metadati per la traduzione e la valutazione
Lo strumento di estrazione a riga di comando dwh-migration-dumper ti consente di estrarre i metadati e i file di log delle query dal tuo data warehouse esistente in modo da poter valutare ed eseguire la migrazione dei workload in BigQuery. I file di metadati descrivono gli oggetti SQL nel sistema di origine.
BigQuery Migration Service utilizza questi metadati per migliorare l'accuratezza della traduzione degli script SQL in GoogleSQL. Inoltre, la valutazione della migrazione a BigQuery analizza i metadati e i file di log delle query per aiutarti a valutare il tuo data warehouse esistente e stimare l'impegno necessario per la migrazione a BigQuery.
Panoramica
Puoi utilizzare lo strumento dwh-migration-dumper per estrarre le informazioni sui metadati dalla piattaforma di database di cui stai eseguendo la migrazione a BigQuery. Sebbene l'utilizzo dello strumento di estrazione non sia obbligatorio per la traduzione, è necessario per la valutazione della migrazione a BigQuery e ti consigliamo vivamente di utilizzarlo per tutte le attività di migrazione.
Per saperne di più, consulta Crea file di metadati.
Puoi utilizzare lo strumento dwh-migration-dumper per estrarre i metadati dalle
seguenti piattaforme di database:
- Teradata versione 15 o successive e Teradata VantageCore on-premise
- Amazon Redshift
- Apache Hive
- Apache Impala
- Apache Spark
- Azure Synapse
- Greenplum
- SQL Server
- IBM Netezza
- Oracle
- PostgreSQL
- Snowflake
- Trino o PrestoSQL
- Vertica
- BigQuery
Per la maggior parte di questi database puoi anche estrarre i log delle query.
Lo strumento dwh-migration-dumper esegue query sulle tabelle di sistema per raccogliere le istruzioni DDL (Data Definition Language) relative ai database utente e di sistema. Non esegue query sui contenuti dei database degli utenti. Lo strumento salva le informazioni dei metadati dalle tabelle di sistema come file CSV e poi li comprime in un unico pacchetto. Quindi, carichi questo file ZIP su Cloud Storage quando carichi i file di origine per la traduzione o la valutazione.
Quando utilizzi l'opzione dei log delle query, lo strumento dwh-migration-dumper esegue query sulle tabelle di sistema per le istruzioni DDL e i log delle query relativi ai database utente e di sistema. Questi vengono salvati in formato CSV o yaml in una sottodirectory e poi compressi in un pacchetto zip. In nessun momento vengono eseguite query sui contenuti dei database degli utenti.
Lo strumento dwh-migration-dumper può essere eseguito su Windows, macOS e Linux.
Lo strumento dwh-migration-dumper è disponibile con la licenza Apache 2.
Se scegli di non utilizzare lo strumento dwh-migration-dumper per la traduzione, puoi fornire manualmente i file di metadati raccogliendo le istruzioni DDL (Data Definition Language) per gli oggetti SQL nel sistema di origine in file di testo separati.
Per la valutazione della migrazione con BigQuery Migration Assessment, è necessario fornire i metadati e i log delle query estratti con lo strumento.
Requisiti di conformità
Per facilità d'uso, forniamo il file binario dello strumento dwh-migration-dumper compilato. Se devi controllare lo strumento per assicurarti che soddisfi i requisiti di conformità, puoi esaminare il codice sorgente dal repository GitHub dello strumento dwh-migration-dumper e compilare il tuo file binario.
Prerequisiti
Installa Java
Sul server su cui prevedi di eseguire lo strumento dwh-migration-dumper deve essere installato Java 8 o versioni successive. In caso contrario, scarica Java dalla pagina di download di Java e installalo.
Autorizzazioni obbligatorie
L'account utente specificato per connettere lo strumento dwh-migration-dumper al sistema di origine deve disporre delle autorizzazioni per leggere i metadati da quel sistema.
Verifica che questo account abbia l'appartenenza al ruolo appropriata per eseguire query sulle risorse dei metadati disponibili per la tua piattaforma. Ad esempio, INFORMATION_SCHEMA è una risorsa di metadati comune a diverse piattaforme.
Installa lo strumento dwh-migration-dumper
Per installare lo strumento dwh-migration-dumper, segui questi passaggi:
- Sulla macchina in cui vuoi eseguire lo strumento
dwh-migration-dumper, scarica il file ZIP dal repository GitHub dello strumentodwh-migration-dumper. Per convalidare il file ZIP dello strumento
dwh-migration-dumper, scarica il fileSHA256SUMS.txted esegui questo comando:Bash
sha256sum --check SHA256SUMS.txt
Se la verifica non va a buon fine, consulta la sezione Risoluzione dei problemi.
Windows PowerShell
(Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]
Sostituisci
RELEASE_ZIP_FILENAMEcon il nome file zip scaricato della release dello strumento di estrazione a riga di comandodwh-migration-dumper, ad esempiodwh-migration-tools-v1.0.52.zipIl risultato
Trueconferma che la verifica del checksum è andata a buon fine.Il risultato
Falseindica un errore di verifica. Assicurati che i file di checksum e ZIP vengano scaricati dalla stessa versione di release e inseriti nella stessa directory.Estrai il file ZIP. Il file binario dello strumento di estrazione si trova nella sottodirectory
/bindella cartella creata estraendo il file ZIP.Aggiorna la variabile di ambiente
PATHin modo da includere il percorso di installazione dello strumento di estrazione.
Esegui lo strumento dwh-migration-dumper
Lo strumento dwh-migration-dumper utilizza il seguente formato:
dwh-migration-dumper [FLAGS]
L'esecuzione dello strumento dwh-migration-dumper crea un file di output denominato dwh-migration-<source platform>-metadata.zip, ad esempio dwh-migration-teradata-metadata.zip, nella directory di lavoro.
Segui le istruzioni riportate di seguito per scoprire come eseguire lo strumento dwh-migration-dumper per la tua piattaforma di origine.
Teradata
Per consentire allo strumento dwh-migration-dumper di connettersi a Teradata, scarica il driver JDBC dalla pagina di download di Teradata.
La tabella seguente descrive i flag di uso comune per l'estrazione dei metadati e dei log delle query di Teradata utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta i flag globali.
| Nome | Valore predefinito | Descrizione | Obbligatorio |
|---|---|---|---|
--assessment |
Attiva la modalità di valutazione durante la generazione dei log del database o l'estrazione dei metadati.
Se utilizzato per l'estrazione dei metadati, lo strumento |
Obbligatorio se utilizzato per eseguire la valutazione, non richiesto per la traduzione. | |
--connector |
Il nome del connettore da utilizzare, in questo caso teradata per i metadati o teradata-logs per i log delle query. | Sì | |
--database |
Un elenco dei database da estrarre, separati da virgole. I nomi dei database potrebbero essere sensibili alle maiuscole, a seconda della configurazione del server Teradata. Se questo flag viene utilizzato in combinazione con il connettore Questo flag non può essere utilizzato in combinazione con il connettore |
No | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--password |
La password da utilizzare per la connessione al database. | Se non specificata, lo strumento di estrazione utilizza un prompt sicuro per richiederla. | |
--port |
1025 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. |
Sì | |
--query-log-alternates |
Solo per il connettore Per estrarre i log delle query da una posizione alternativa, ti consigliamo di utilizzare i flag
Per impostazione predefinita, i log delle query vengono estratti dalle tabelle Esempio:
|
No | |
-Dteradata.tmode |
La modalità di transazione per la connessione. Sono supportati i seguenti valori:
Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.log-date-column |
Solo per il connettore
Per migliorare le prestazioni dell'unione delle tabelle specificate dai flag Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.query-logs-table |
Solo per il connettore
Per impostazione predefinita, i log delle query vengono estratti dalla tabella Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.sql-logs-table |
Solo per il connettore
Per impostazione predefinita, i log delle query contenenti testo SQL vengono estratti dalla tabella Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.utility-logs-table |
Solo per il connettore
Per impostazione predefinita, i log dell'utilità vengono estratti dalla tabella Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.res-usage-scpu-table |
Solo per il connettore
Per impostazione predefinita, i log di utilizzo delle risorse SCPU vengono estratti dalla tabella Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.res-usage-spma-table |
Solo per il connettore
Per impostazione predefinita, i log di utilizzo delle risorse SPMA vengono estratti dalla tabella Esempio (Bash): Esempio (Windows PowerShell): |
No | |
--query-log-start |
L'ora di inizio (inclusa) per l'estrazione dei log delle query. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore teradata-logs.
Esempio: |
No | |
--query-log-end |
La data di fine (esclusa) per l'estrazione dei log delle query. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore teradata-logs.
Esempio: |
No | |
-Dteradata.metadata.tablesizev.max-rows |
Solo per il connettore Limita il numero di righe estratte dalla vista Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata.metadata.diskspacev.max-rows |
Solo per il connettore Limita il numero di righe estratte dalla vista Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata.metadata.databasesv.users.max-rows |
Solo per il connettore
Limita il numero di righe che rappresentano gli utenti ( Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata.metadata.databasesv.dbs.max-rows |
Solo per il connettore Limita il numero di righe che rappresentano i database ( Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata.metadata.max-text-length |
Solo per il connettore Lunghezza massima della colonna di testo durante l'estrazione dei dati dalla vista Esempio (Bash): Esempio (Windows PowerShell): |
No | |
-Dteradata-logs.max-sql-length |
Solo per il connettore Lunghezza massima della colonna Esempio (Bash): Esempio (Windows PowerShell): |
No |
Esempi
L'esempio seguente mostra come estrarre i metadati per due database Teradata sull'host locale:
dwh-migration-dumper \
--connector teradata \
--user user \
--password password \
--database database1,database2 \
--driver path/terajdbc4.jar
L'esempio seguente mostra come estrarre i log delle query per Assessment sull'host locale per l'autenticazione:
dwh-migration-dumper \
--connector teradata-logs \
--assessment \
--user user \
--password password \
--driver path/terajdbc4.jar
Tabelle e viste estratte dallo strumento dwh-migration-dumper
Quando utilizzi il connettore teradata, vengono estratte le seguenti tabelle e visualizzazioni:
DBC.ColumnsVDBC.DatabasesVDBC.DBCInfoDBC.FunctionsVDBC.IndicesVDBC.PartitioningConstraintsVDBC.TablesVDBC.TableTextV
Le seguenti tabelle e viste aggiuntive vengono estratte quando utilizzi il connettore teradata con il flag --assessment:
DBC.All_RI_ChildrenVDBC.All_RI_ParentsVDBC.AllTempTablesVXDBC.DiskSpaceVDBC.RoleMembersVDBC.StatsVDBC.TableSizeV
Quando utilizzi il connettore teradata-logs, vengono estratte le seguenti tabelle e visualizzazioni:
DBC.DBQLogTbl(diventaDBC.QryLogVse viene utilizzato il flag--assessment)DBC.DBQLSqlTbl
Le seguenti tabelle e viste aggiuntive vengono estratte quando utilizzi il connettore teradata-logs con il flag --assessment:
DBC.DBQLUtilityTblDBC.ResUsageScpuDBC.ResUsageSpma
Redshift
Con lo strumento di estrazione puoi utilizzare uno dei seguenti meccanismi di autenticazione e autorizzazione di Amazon Redshift:
- Nome utente e password.
- Un ID chiave di accesso e una chiave segreta di AWS Identity and Access Management (Identity and Access Management (IAM)).
- Un nome del profilo AWS IAM.
Per eseguire l'autenticazione con nome utente e password, utilizza il driver JDBC PostgreSQL predefinito di Amazon Redshift. Per l'autenticazione con AWS IAM, utilizza il driver JDBC di Amazon Redshift, che puoi scaricare dalla pagina di download.
La seguente tabella descrive i flag di uso comune per l'estrazione dei metadati e dei log delle query di Amazon Redshift utilizzando lo strumento dwh-migration-dumper. Per informazioni su tutti i flag supportati, consulta flag globali.
| Nome | Valore predefinito | Descrizione | Obbligatorio |
|---|---|---|---|
--assessment |
Attivazione della modalità di valutazione durante la generazione dei log del database o l'estrazione dei metadati. Genera le statistiche dei metadati richieste per la valutazione della migrazione a BigQuery quando viene utilizzato per l'estrazione dei metadati. Se utilizzato per l'estrazione dei log delle query, genera statistiche sulle metriche delle query per la valutazione della migrazione a BigQuery. |
Obbligatorio se l'esecuzione avviene in modalità di valutazione, non obbligatorio per la traduzione. | |
--connector |
Il nome del connettore da utilizzare, in questo caso redshift per i metadati o redshift-raw-logs per i log delle query. | Sì | |
--database |
Se non specificato, Amazon Redshift utilizza il valore --user come nome del database predefinito. |
Il nome del database a cui connettersi. |
No |
--driver |
Se non specificato, Amazon Redshift utilizza il driver JDBC PostgreSQL predefinito. | Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | No |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--iam-accesskeyid |
L'ID della chiave di accesso AWS IAM da utilizzare per l'autenticazione. La chiave di accesso è una stringa di caratteri, ad esempio
Da utilizzare insieme al flag |
Non esplicitamente, ma devi fornire le informazioni di autenticazione tramite uno dei seguenti metodi:
|
|
--iam-profile |
Il profilo AWS IAM da utilizzare per l'autenticazione. Puoi recuperare un valore del profilo da utilizzare esaminando il file
Non utilizzare questo flag con i flag |
Non esplicitamente, ma devi fornire le informazioni di autenticazione tramite uno dei seguenti metodi:
|
|
--iam-secretaccesskey |
La chiave di accesso secret AWS IAM da utilizzare per l'autenticazione. La chiave di accesso segreta è una stringa di caratteri, ad esempio
Da utilizzare insieme al flag |
Non esplicitamente, ma devi fornire le informazioni di autenticazione tramite uno dei seguenti metodi:
|
|
--password |
La password da utilizzare per la connessione al database.
Non utilizzare questo flag con i flag |
Non esplicitamente, ma devi fornire le informazioni di autenticazione tramite uno dei seguenti metodi:
|
|
--port |
5439 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. | Sì | |
--query-log-start |
L'ora di inizio (inclusa) per l'estrazione dei log delle query. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore redshift-raw-logs.
Esempio: |
No | |
--query-log-end |
La data di fine (esclusa) per l'estrazione dei log delle query. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore redshift-raw-logs.
Esempio: |
No |
Esempi
L'esempio seguente mostra come estrarre i metadati da un database Amazon Redshift su un host specificato, utilizzando le chiavi AWS IAM per l'autenticazione:
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
L'esempio seguente mostra come estrarre i metadati da un database Amazon Redshift sull'host predefinito, utilizzando il nome utente e la password per l'autenticazione:
dwh-migration-dumper \
--connector redshift \
--database database \
--password password \
--user user
L'esempio seguente mostra come estrarre i metadati da un database Amazon Redshift su un host specificato, utilizzando un profilo AWS IAM per l'autenticazione:
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
L'esempio seguente mostra come estrarre i log delle query per la valutazione da un database Amazon Redshift su un host specificato, utilizzando un profilo AWS IAM per l'autenticazione:
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
Tabelle e viste estratte dallo strumento dwh-migration-dumper
Quando utilizzi il connettore redshift, vengono estratte le seguenti tabelle e visualizzazioni:
SVV_COLUMNSSVV_EXTERNAL_COLUMNSSVV_EXTERNAL_DATABASESSVV_EXTERNAL_PARTITIONSSVV_EXTERNAL_SCHEMASSVV_EXTERNAL_TABLESSVV_TABLESSVV_TABLE_INFOINFORMATION_SCHEMA.COLUMNSPG_CASTPG_DATABASEPG_LANGUAGEPG_LIBRARYPG_NAMESPACEPG_OPERATORPG_PROCPG_TABLE_DEFPG_TABLESPG_TYPEPG_VIEWS
Le seguenti tabelle e viste aggiuntive vengono estratte quando utilizzi il connettore redshift con il flag --assessment:
SVV_DISKUSAGESTV_MV_INFOSTV_WLM_SERVICE_CLASS_CONFIGSTV_WLM_SERVICE_CLASS_STATE
Quando utilizzi il connettore redshift-raw-logs, vengono estratte le seguenti tabelle e visualizzazioni:
STL_DDLTEXTSTL_QUERYSTL_QUERYTEXTPG_USER
Le seguenti tabelle e viste aggiuntive vengono estratte quando utilizzi il connettore redshift-raw-logs con il flag --assessment:
STL_QUERY_METRICSSVL_QUERY_QUEUE_INFOSTL_WLM_QUERY
Per informazioni sulle viste e sulle tabelle di sistema in Redshift, consulta Viste di sistema di Redshift e Tabelle del catalogo di sistema di Redshift.
Hive/Impala/Spark o Trino/PrestoSQL
Lo strumento dwh-migration-dumper supporta l'autenticazione al metastore Apache Hive solo tramite Kerberos. I flag --user e --password non vengono utilizzati, ma viene utilizzato il flag --hive-kerberos-url per fornire i dettagli di autenticazione Kerberos.
La tabella seguente descrive i flag di uso comune per estrarre i metadati di Apache Hive, Impala, Spark, Presto o Trino utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta i flag globali.
| Nome | Valore predefinito | Descrizione | Obbligatorio |
|---|---|---|---|
--assessment |
Attiva la modalità di valutazione durante l'estrazione dei metadati.
Lo strumento |
Obbligatorio per la valutazione. Not required for translation. | |
--connector |
Il nome del connettore da utilizzare, in questo caso hiveql. | Sì | |
--hive-metastore-dump-partition-metadata |
true |
Fa sì che lo strumento
Non utilizzare questo flag con il flag |
No |
--hive-metastore-version |
2.3.6 |
Quando esegui lo strumento |
No |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--port |
9083 | La porta del server di database. | No |
--hive-kerberos-url |
Il principal e l'host Kerberos da utilizzare per l'autenticazione. | Obbligatorio per i cluster con autenticazione Kerberos abilitata. | |
-Dhiveql.rpc.protection |
Il livello di configurazione della protezione RPC. Determina la qualità della protezione (QOP) della connessione Simple Authentication and Security Layer (SASL) tra il cluster e lo strumento Deve essere uguale al valore del parametro
Esempio (Bash): Esempio (Windows PowerShell): |
Obbligatorio per i cluster con autenticazione Kerberos abilitata. |
Esempi
L'esempio seguente mostra come estrarre i metadati per un database Hive 2.3.7 su un host specificato, senza autenticazione e utilizzando una porta alternativa per la connessione:
dwh-migration-dumper \
--connector hiveql \
--hive-metastore-version 2.3.7 \
--host host \
--port port
Per utilizzare l'autenticazione Kerberos, accedi come utente con autorizzazioni in lettura per il metastore Hive e genera un ticket Kerberos. Quindi, genera il file ZIP dei metadati con il seguente 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
Per consentire allo strumento dwh-migration-dumper di connettersi ad Azure Synapse o Microsoft SQL Server, scarica il driver JDBC dalla pagina di download di Microsoft.
La seguente tabella descrive i flag di uso comune per l'estrazione dei metadati di Azure Synapse o Microsoft SQL Server utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta i flag globali.
| Nome | Valore predefinito | Descrizione | Obbligatorio |
|---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso sqlserver. | Sì | |
--database |
Il nome del database a cui connettersi. |
Sì | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--password |
La password da utilizzare per la connessione al database. | Sì | |
--port |
1433 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. | Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati da un database Azure Synapse su un host specificato:
dwh-migration-dumper \
--connector sqlserver \
--database database \
--driver path/mssql-jdbc.jar \
--host server_name.sql.azuresynapse.net \
--password password \
--user user
Greenplum
Per consentire allo strumento dwh-migration-dumper di connettersi a Greenplum, scarica il driver JDBC dalla pagina di download di VMware Greenplum.
La seguente tabella descrive i flag di uso comune per estrarre i metadati di Greenplum utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta i flag globali.
| Nome | Valore predefinito | Descrizione | Obbligatorio |
|---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso greenplum. | Sì | |
--database |
Il nome del database a cui connettersi. |
Sì | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--password |
La password da utilizzare per la connessione al database. | Se non specificata, lo strumento di estrazione utilizza un prompt sicuro per richiederla. | |
--port |
5432 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. | Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati per un database Greenplum su un host specificato:
dwh-migration-dumper \
--connector greenplum \
--database database \
--driver path/greenplum.jar \
--host host \
--password password \
--user user \
Netezza
Per consentire allo strumento dwh-migration-dumper di connettersi a IBM Netezza, devi ottenere il relativo driver JDBC. In genere, puoi scaricare il driver dalla directory /nz/kit/sbin sull'host dell'appliance IBM Netezza. Se non riesci a trovarlo, chiedi aiuto all'amministratore di sistema o leggi Installing and Configuring JDBC nella documentazione di IBM Netezza.
La tabella seguente descrive i flag di uso comune per estrarre i metadati IBM Netezza utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta i flag globali.
| Nome | Valore predefinito | Descrizione | Obbligatorio |
|---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso netezza. | Sì | |
--database |
Un elenco dei database da estrarre, separati da virgole. |
Sì | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--password |
La password da utilizzare per la connessione al database. | Sì | |
--port |
5480 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. | Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati per due database IBM Netezza su un host specificato:
dwh-migration-dumper \
--connector netezza \
--database database1,database2 \
--driver path/nzjdbc.jar \
--host host \
--password password \
--user user
PostgreSQL
Per consentire allo strumento dwh-migration-dumper di connettersi a PostgreSQL, scarica il driver JDBC dalla pagina di download di PostgreSQL.
La tabella seguente descrive i flag di uso comune per estrarre i metadati PostgreSQL utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta i flag globali.
| Nome | Valore predefinito | Descrizione | Obbligatorio |
|---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso postgresql. | Sì | |
--database |
Il nome del database a cui connettersi. |
Sì | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--password |
La password da utilizzare per la connessione al database. | Se non specificata, lo strumento di estrazione utilizza un prompt sicuro per richiederla. | |
--port |
5432 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. | Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati per un database PostgreSQL su un host specificato:
dwh-migration-dumper \
--connector postgresql \
--database database \
--driver path/postgresql-version.jar \
--host host \
--password password \
--user user
Oracle / Oracle Exadata
Per consentire allo strumento dwh-migration-dumper di connettersi a Oracle, scarica il driver JDBC dalla pagina di download di Oracle.
I connettori oracle e oracle-stats supportano anche Oracle Exadata.
La tabella seguente descrive i flag di uso comune per estrarre i metadati Oracle utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta i flag globali.
| Nome | Valore predefinito | Descrizione | Obbligatorio |
|---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso oracle. | Sì | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--oracle-service |
Il nome del servizio Oracle da utilizzare per la connessione. |
Non esplicitamente, ma devi specificare questo flag o il flag --oracle-sid. |
|
--oracle-sid |
L'identificatore di sistema (SID) Oracle da utilizzare per la connessione. |
Non esplicitamente, ma devi specificare questo flag o il flag --oracle-service. |
|
--password |
La password da utilizzare per la connessione al database. | Se non specificata, lo strumento di estrazione utilizza un prompt sicuro per richiederla. | |
--port |
1521 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database.
L'utente specificato deve avere il ruolo |
Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati per un database Oracle su un host specificato, utilizzando il servizio Oracle per la connessione:
dwh-migration-dumper \
--connector oracle \
--driver path/ojdbc8.jar \
--host host \
--oracle-service service_name \
--password password \
--user user
Snowflake
La tabella seguente descrive i flag di uso comune per l'estrazione dei metadati di Snowflake utilizzando lo strumento dwh-migration-dumper. Per informazioni su tutti i flag supportati, consulta i flag globali.
| Nome | Valore predefinito | Descrizione | Obbligatorio |
|---|---|---|---|
--assessment |
Attiva la modalità di valutazione durante la generazione dei log del database o l'estrazione dei metadati.
Lo strumento |
Solo per la valutazione. | |
--connector |
Il nome del connettore da utilizzare, in questo caso snowflake. | Sì | |
--database |
Un elenco separato da virgole di nomi di database da estrarre. Questo flag non è consentito in modalità di valutazione. |
Solo per la traduzione. | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--private-key-file |
Il percorso della chiave privata RSA utilizzata per l'autenticazione. Ti consigliamo di utilizzare un utente |
No, se non viene fornito, lo strumento di estrazione utilizza un'autenticazione basata su password. | |
--private-key-password |
La password utilizzata durante la creazione della chiave privata RSA. |
No, è obbligatoria solo se la chiave privata è crittografata. | |
--password |
La password da utilizzare per la connessione al database. | Se non specificata, lo strumento di estrazione utilizza un prompt sicuro per richiederla. Tuttavia, ti consigliamo di utilizzare l'autenticazione basata su coppia di chiavi. | |
--query-log-start |
L'ora di inizio (inclusa) per l'estrazione dei log delle query. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore
Esempio: |
No | |
--query-log-end |
La data di fine (esclusa) per l'estrazione dei log delle query. Il valore viene troncato all'ora. Questo flag è disponibile solo per il connettore
Esempio: |
No | |
--role |
Il ruolo Snowflake da utilizzare per l'autorizzazione. Sebbene sia tecnicamente facoltativo se il tuo ruolo predefinito dispone di privilegi sufficienti, ti consigliamo vivamente di specificare un ruolo, ad esempio ACCOUNTADMIN, per assicurarti che la sessione disponga dei privilegi necessari per accedere allo schema SNOWFLAKE.ACCOUNT_USAGE. Per saperne di più, consulta Utilizzo di istanze Snowflake di grandi dimensioni.
|
No, ma è vivamente consigliato. | |
--user |
Il nome utente da utilizzare per la connessione al database. |
Sì | |
--warehouse |
Il warehouse Snowflake da utilizzare per l'elaborazione delle query dei metadati. |
Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati per la valutazione:
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
L'esempio seguente mostra come estrarre i metadati per un database Snowflake di dimensioni tipiche sull'host locale:
dwh-migration-dumper \
--connector snowflake \
--database database \
--user user \
--private-key-file private-key-file \
--private-key-password private-key-password \
--warehouse warehouse
L'esempio seguente mostra come estrarre i metadati per un database Snowflake di grandi dimensioni su un host specificato:
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
In alternativa, puoi utilizzare il seguente esempio per estrarre i metadati utilizzando l'autenticazione basata su password:
dwh-migration-dumper \
--connector snowflake \
--database database \
--host "account.snowflakecomputing.com" \
--password password \
--user user \
--warehouse warehouse
Utilizzo di istanze Snowflake di grandi dimensioni
Lo strumento dwh-migration-dumper legge i metadati da Snowflake
INFORMATION_SCHEMA. Tuttavia, esiste un limite alla quantità di dati che puoi recuperare da INFORMATION_SCHEMA. Se esegui lo strumento di estrazione e ricevi l'errore SnowflakeSQLException:
Information schema query returned too much data, devi seguire questi passaggi per poter leggere i metadati dallo schema SNOWFLAKE.ACCOUNT_USAGE:
- Apri l'opzione Shares (Condivisioni) nell'interfaccia web di Snowflake.
Crea un database dalla condivisione
SNOWFLAKE.ACCOUNT_USAGE:-- CREATE DATABASE database FROM SHARE SNOWFLAKE.ACCOUNT_USAGE;Crea un ruolo:
CREATE ROLE role;Concedi i privilegi
IMPORTEDsul nuovo database al ruolo:GRANT IMPORTED PRIVILEGES ON DATABASE database TO ROLE role;Concedi il ruolo all'utente che intendi utilizzare per eseguire lo strumento
dwh-migration-dumper:GRANT ROLE role TO USER user;
Vertica
Per consentire allo strumento dwh-migration-dumper di connettersi a Vertica, scarica il driver JDBC dalla pagina di download.
La tabella seguente descrive i flag di uso comune per l'estrazione dei metadati Vertica utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta i flag globali.
| Nome | Valore predefinito | Descrizione | Obbligatorio |
|---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso vertica. | Sì | |
--database |
Il nome del database a cui connettersi. |
Sì | |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per questa connessione. Puoi specificare più file JAR del driver, separandoli con virgole. | Sì | |
--host |
localhost | Il nome host o l'indirizzo IP del server di database. | No |
--password |
La password da utilizzare per la connessione al database. | Sì | |
--port |
5433 | La porta del server di database. | No |
--user |
Il nome utente da utilizzare per la connessione al database. | Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati da un database Vertica sull'host locale:
dwh-migration-dumper \
--driver path/vertica-jdbc.jar \
--connector vertica \
--database database
--user user
--password password
BigQuery
La tabella seguente descrive i flag di uso comune per estrarre i metadati di BigQuery utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta i flag globali.
| Nome | Valore predefinito | Descrizione | Obbligatorio |
|---|---|---|---|
--connector |
Il nome del connettore da utilizzare, in questo caso bigquery. | Sì | |
--database |
L'elenco dei progetti da cui estrarre i metadati e i log delle query, separati da virgole. |
Sì | |
--schema |
L'elenco dei set di dati da cui estrarre i metadati e i log delle query, separati da virgole. |
Sì |
Esempi
L'esempio seguente mostra come estrarre i metadati da un database Vertica sull'host locale:
dwh-migration-dumper \
--connector bigquery \
--database PROJECT1, PROJECT2
--schema DATASET1, DATASET2
Flag globali
La tabella seguente descrive i flag che possono essere utilizzati con qualsiasi piattaforma di origine supportata.
| Nome | Descrizione |
|---|---|
--connector |
Il nome del connettore per il sistema di origine. |
--database |
L'utilizzo varia in base al sistema di origine. |
--driver |
Il percorso assoluto o relativo del file JAR del driver da utilizzare per la connessione al sistema di origine. Puoi specificare più file JAR del driver, separandoli con virgole. |
--dry-run o -n |
Mostra le azioni che lo strumento di estrazione eseguirebbe senza eseguirle. |
--help |
Visualizza la guida della riga di comando. |
--host |
Il nome host o l'indirizzo IP del server di database a cui connettersi. |
--jdbcDriverClass |
Facoltativamente, esegue l'override del nome della classe del driver JDBC specificato dal fornitore. Utilizza questa opzione se hai un client JDBC personalizzato. |
--output |
Il percorso del file ZIP di output. Ad esempio, dir1/dir2/teradata-metadata.zip. Se non specifichi un percorso, il file di output viene creato nella directory di lavoro. Se specifichi il percorso di una directory, il nome file ZIP predefinito viene creato nella directory specificata. Se la directory non esiste, viene creata.
Per utilizzare Cloud Storage, utilizza il seguente formato: Per autenticarti utilizzando le credenziali Google Cloud , consulta Autenticati per utilizzare le librerie client. |
--password |
La password da utilizzare per la connessione al database. |
--port |
La porta del server di database. |
--save-response-file |
Salva i flag della riga di comando in un file JSON per un facile riutilizzo. Il file si chiama dumper-response-file.json e viene creato nella directory di lavoro. Per utilizzare il file di risposta, fornisci il percorso preceduto da @ quando esegui lo strumento di estrazione, ad esempio dwh-migration-dumper @path/to/dumper-response-file.json.
|
--schema |
Un elenco degli schemi da estrarre, separati da virgole.
Oracle non distingue tra uno schema e l'utente del database che ha creato lo schema, quindi puoi utilizzare i nomi degli schemi o i nomi utente con il flag |
--thread-pool-size |
Imposta le dimensioni del pool di thread, che influiscono sulle dimensioni del pool di connessioni.
La dimensione predefinita del pool di thread è il numero di core sul server che esegue lo strumento Se lo strumento di estrazione sembra lento o necessita di più risorse, puoi aumentare il numero di thread utilizzati. Se ci sono indicazioni che altri processi sul server richiedono più larghezza di banda, puoi ridurre il numero di thread utilizzati. |
--url |
L'URL da utilizzare per la connessione al database, anziché l'URI generato dal driver JDBC. Nella maggior parte dei casi, l'URI generato dovrebbe essere sufficiente. Esegui l'override dell'URI generato solo quando devi utilizzare un'impostazione di connessione JDBC specifica per la piattaforma di origine e non è già impostata da uno dei flag elencati in questa tabella. |
--user |
Il nome utente da utilizzare per la connessione al database. |
--version |
Mostra la versione del prodotto. |
--telemetry |
Raccoglie insight sulle caratteristiche di rendimento delle esecuzioni, come durata, conteggi delle esecuzioni e utilizzo delle risorse. Questa opzione è attiva per impostazione predefinita. Per disattivare la telemetria, imposta questo flag su |
Risoluzione dei problemi
Le sezioni seguenti illustrano alcuni problemi comuni e le tecniche di risoluzione dei problemi per lo strumento dwh-migration-dumper.
Errore di memoria insufficiente
L'errore java.lang.OutOfMemoryError nell'output del terminale dello strumento dwh-migration-dumper è spesso correlato a una memoria insufficiente per l'elaborazione dei dati recuperati.
Per risolvere il problema, aumenta la memoria disponibile o riduci il numero di thread di elaborazione.
Puoi aumentare la memoria massima esportando la variabile di ambiente JAVA_OPTS:
Linux
export JAVA_OPTS="-Xmx4G"
Windows
set JAVA_OPTS="-Xmx4G"
Puoi ridurre il numero di thread di elaborazione (il valore predefinito è 32) includendo il valore del flag --thread-pool-size. Questa opzione è supportata solo per i connettori hiveql e redshift*:
dwh-migration-dumper --thread-pool-size=1
Gestione di un errore WARN...Task failed
A volte potresti visualizzare un errore WARN [main] o.c.a.d.MetadataDumper [MetadataDumper.java:107] Task failed: … nell'output del terminale dello strumento dwh-migration-dumper. Lo strumento di estrazione invia più query al sistema di origine e l'output di ogni query viene scritto nel proprio file. Se visualizzi questo problema, significa che una di queste query non è andata a buon fine. Tuttavia, l'errore di una query non impedisce l'esecuzione
delle altre query. Se vedi più di un paio di errori WARN, esamina i dettagli del problema e verifica se è necessario correggere qualcosa per eseguire la query in modo appropriato. Ad esempio, se l'utente del database specificato durante l'esecuzione dello strumento di estrazione non dispone delle autorizzazioni per leggere tutti i metadati, riprova con un utente con le autorizzazioni corrette.
File ZIP danneggiato
Per convalidare il file ZIP dello strumento dwh-migration-dumper, scarica il
file SHA256SUMS.txt
ed esegui questo comando:
Bash
sha256sum --check SHA256SUMS.txt
Il risultato OK conferma che la verifica del checksum è andata a buon fine. Qualsiasi altro messaggio indica un errore di verifica:
FAILED: computed checksum did NOT match: il file ZIP è danneggiato e deve essere scaricato di nuovo.FAILED: listed file could not be read: impossibile trovare la versione del file ZIP. Scarica i file di checksum e ZIP dalla stessa versione di release e inseriscili nella stessa directory.
Windows PowerShell
(Get-FileHash RELEASE_ZIP_FILENAME).Hash -eq ((Get-Content SHA256SUMS.txt) -Split " ")[0]
Sostituisci RELEASE_ZIP_FILENAME con il nome file ZIP scaricato della release dello strumento di estrazione a riga di comando dwh-migration-dumper, ad esempio dwh-migration-tools-v1.0.52.zip.
Il risultato True conferma che la verifica del checksum è andata a buon fine.
Il risultato False indica un errore di verifica. Scarica i file di checksum e ZIP dalla stessa versione di release e inseriscili nella stessa directory.
L'estrazione dei log delle query Teradata è lenta
Per migliorare le prestazioni dell'unione delle tabelle specificate dai flag -Dteradata-logs.query-logs-table e -Dteradata-logs.sql-logs-table, puoi includere una colonna aggiuntiva di tipo DATE nella condizione JOIN.
Questa colonna deve essere definita in entrambe le tabelle e deve far parte dell'indice principale partizionato. Per includere questa colonna, utilizza il flag -Dteradata-logs.log-date-column.
L'esempio seguente mostra come utilizzare il flag -Dteradata-logs.log-date-column:
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"
Limite di dimensioni delle righe Teradata superato
Teradata versione 15 ha un limite di dimensione delle righe di 64 kB. Se il limite viene superato, lo strumento di estrazione non va a buon fine e restituisce il seguente messaggio:
[Error 9804] [SQLState HY000] Response Row size or Constant Row size overflow
Per risolvere questo errore, estendi il limite di righe a 1 MB o suddividi le righe in più righe:
- Installa e attiva la funzionalità 1 MB Perm and Response Rows e il software TTU corrente. Per saperne di più, consulta Messaggio 9804 del database Teradata.
- Suddividi il testo lungo della query in più righe utilizzando i flag
-Dteradata.metadata.max-text-lengthe-Dteradata-logs.max-sql-length.
Il seguente comando mostra come utilizzare il flag -Dteradata.metadata.max-text-length per suddividere il testo di una query lunga in più righe di massimo 10.000 caratteri ciascuna:
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"
Il seguente comando mostra come utilizzare il flag -Dteradata-logs.max-sql-length per suddividere il testo di una query lunga in più righe di massimo 10.000 caratteri ciascuna:
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 di connessione a Oracle
In casi comuni, come una password o un nome host non validi, lo strumento dwh-migration-dumper stampa un messaggio di errore significativo che descrive il problema principale. Tuttavia, in alcuni casi, il messaggio di errore restituito dal server Oracle potrebbe essere generico e difficile da analizzare.
Uno di questi problemi è IO Error: Got minus one from a read call. Questo errore indica che la connessione al server Oracle è stata stabilita, ma il server non ha accettato il client e ha chiuso la connessione.
In genere, questo problema si verifica quando il server accetta solo connessioni TCPS. Per impostazione predefinita, lo strumento dwh-migration-dumper utilizza il protocollo TCP. Per risolvere il problema, devi eseguire l'override dell'URL di connessione JDBC di Oracle.
Anziché fornire i flag oracle-service, host e port, puoi
risolvere il problema fornendo il flag url nel seguente formato:
jdbc:oracle:thin:@tcps://HOST_NAME:PORT/ORACLE_SERVICE.
In genere, il numero di porta TCPS utilizzato dal server Oracle è 2484.
L'esempio seguente mostra come specificare l'URL di connessione nel comando:
dwh-migration-dumper \
--connector oracle-stats \
--url "jdbc:oracle:thin:@tcps://HOST_NAME:PORT/ORACLE_SERVICE" \
--assessment \
--driver "JDBC_DRIVER_PATH" \
--user "USER" \
--password
Oltre a modificare il protocollo di connessione in TCPS, potrebbe essere necessario fornire la configurazione SSL trustStore richiesta per verificare il certificato del server Oracle. Se la configurazione SSL non è presente, viene visualizzato un messaggio di errore Unable to find valid certification path. Per risolvere questo problema, imposta la variabile di ambiente JAVA_OPTS:
set JAVA_OPTS=-Djavax.net.ssl.trustStore="JKS_FILE_LOCATION" -Djavax.net.ssl.trustStoreType=JKS -Djavax.net.ssl.trustStorePassword="PASSWORD"
A seconda della configurazione del server Oracle, potresti anche dover fornire la configurazione keyStore. Per ulteriori informazioni sulle opzioni di configurazione, consulta SSL con driver JDBC Oracle.
Passaggi successivi
Dopo aver eseguito lo strumento dwh-migration-dumper, carica l'output su Cloud Storage insieme ai file di origine per la traduzione.