Genera metadati per la traduzione e la valutazione

In questo documento viene descritto come creare file di log delle query e dei metadati utilizzando l'API Strumento di estrazione a riga di comando dwh-migration-dumper. I file di metadati descrivono gli oggetti SQL nella tua origine di un sistema operativo completo.

BigQuery Migration Service utilizza queste informazioni per migliorare degli script SQL dal dialetto del sistema di origine a GoogleSQL.

La valutazione della migrazione di BigQuery utilizza file di metadati e file di log delle query per analizzare il data warehouse esistente e valutare l'impegno richiesto per spostare il data warehouse in BigQuery.

Panoramica

Puoi usare lo strumento dwh-migration-dumper per estrarre informazioni sui metadati dal piattaforma di database di cui stai eseguendo la migrazione a BigQuery. Mentre utilizzi il strumento di estrazione non è necessario per la traduzione, è necessario per valutazione della migrazione di BigQuery e consigliamo vivamente di utilizzarla per tutte le attività di migrazione.

Per ulteriori informazioni, vedi Creare file di metadati.

Puoi usare lo strumento dwh-migration-dumper per estrarre metadati dal seguenti piattaforme di database:

  • Teradata
  • Amazon Redshift
  • Apache Hive
  • Apache Spark
  • Azure Synapse
  • Microsoft SQL Server
  • Netezza di IBM
  • Oracle
  • Snowflake
  • Trino o PrestoSQL
  • Vertica

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 la definizione dei dati di linguaggio DDL (DDL) relative a database di utenti e sistemi. Non eseguire query sui contenuti dei database degli utenti. Lo strumento salva le informazioni dei metadati dalle tabelle di sistema come file CSV e poi li comprimi in in un unico pacchetto. Successivamente, caricherai questo file ZIP in Cloud Storage al momento del caricamento i tuoi file di origine per la traduzione o la valutazione.

Quando utilizzi l'opzione Log delle query, lo strumento dwh-migration-dumper esegue query sulle tabelle di sistema per trovare istruzioni DDL e log delle query relativi ai database di sistema e degli utenti. Questi file vengono salvati in formato CSV o YAML in una sottodirectory e quindi compressi in un pacchetto ZIP. Non vengono mai eseguite query sui contenuti dei database degli utenti. A questo punto, la valutazione della migrazione di BigQuery richiede singoli file CSV, YAML e di testo per i log delle query, quindi devi decomprimere tutti questi file dal file ZIP dei log delle query e caricarli per la valutazione.

Lo strumento dwh-migration-dumper può essere eseguito su Windows, macOS e Linux.

Lo strumento dwh-migration-dumper è disponibile in Licenza Apache 2.

Se scegli di non utilizzare lo strumento dwh-migration-dumper per la traduzione, puoi fornire manualmente di metadati raccogliendo le istruzioni DDL (Data Definition Language) per gli oggetti SQL del sistema di origine in file di testo separati.

Per la valutazione della migrazione mediante la valutazione della migrazione di BigQuery è necessario fornire i metadati e i log delle query estratti con lo strumento.

Requisiti di conformità

Per facilità d'uso, forniamo il file binario compilato dello strumento dwh-migration-dumper. Se controllare lo strumento per garantire che soddisfi i requisiti di conformità, puoi rivedere il codice sorgente Repository GitHub dello strumento dwh-migration-dumper, e compilerai il tuo programma binario.

Prerequisiti

Installa Java

Il server su cui prevedi di eseguire lo strumento dwh-migration-dumper deve avere È installato Java 8 o versione successiva. In caso contrario, scarica Java dal Pagina dei download Java e installarlo.

Autorizzazioni obbligatorie

L'account utente specificato per connettere lo strumento dwh-migration-dumper a il sistema di origine deve disporre delle autorizzazioni per leggere i metadati dal sistema. Verifica che questo account disponga dell'appartenenza appropriata ai ruoli per eseguire query sui metadati disponibili per la tua piattaforma. Ad esempio, INFORMATION_SCHEMA è un risorsa di metadati comune su diverse piattaforme.

Installa lo strumento dwh-migration-dumper

Per installare lo strumento dwh-migration-dumper:

  1. Sul computer su cui vuoi eseguire lo strumento dwh-migration-dumper, scarica ZIP Repository GitHub dello strumento dwh-migration-dumper.
  2. Scarica il File SHA256SUMS.txt ed esegui questo comando:
    sha256sum --check SHA256SUMS.txt
    
    Se la verifica non va a buon fine, consulta la sezione Risoluzione dei problemi.
  3. Estrai il file ZIP. Il file binario dello strumento di estrazione è Sottodirectory /bin della cartella creata estraendo il file ZIP.
  4. Aggiorna la variabile di ambiente PATH in modo che includa il percorso di installazione per lo strumento di estrazione.

Esegui lo strumento dwh-migration-dumper

Lo strumento dwh-migration-dumper usa 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 queste istruzioni 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 di Teradata pagina di download.

La tabella seguente descrive i flag di uso comune per l'estrazione Metadati e log delle query 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 di log di database o l'estrazione di metadati. Lo strumento dwh-migration-dumper genera le statistiche sui metadati richieste per la valutazione della migrazione a BigQuery quando viene utilizzato per l'estrazione di metadati. Se utilizzata per i log delle query, estrae colonne aggiuntive per la valutazione della migrazione di BigQuery.

Richiesto quando si utilizza per l'esecuzione del test, non 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.
--database

Un elenco dei database da estrarre, separati da virgole. La i nomi dei database potrebbero essere sensibili alle maiuscole, a seconda del modello configurazione del server.

Se questo flag viene usato in combinazione con teradata, poi lo strumento dwh-migration-dumper filtra le tabelle e le visualizzazioni dei metadati in base all'elenco fornito o Microsoft SQL Server. Le eccezioni sono: DatabasesV e RoleMembersV visualizzazioni: lo strumento dwh-migration-dumper estrae i database e gli utenti da queste viste senza filtrare i risultati nome del database.

Questo flag non può essere usato in combinazione con connettore teradata-logs. I log delle query vengono sempre per tutti i database.

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.
--host localhost Il nome host o l'indirizzo IP del server del database. No
--password La password da utilizzare per la connessione al database. Se non specificato, lo strumento di estrazione utilizza un prompt sicuro per richiederlo.
--port 1025 La porta del server del database. No
--user

Il nome utente da utilizzare per la connessione al database.

--query-log-alternates

Solo per il connettore teradata-logs.

Per estrarre i log delle query da una posizione alternativa, ti consigliamo di utilizzare -Dteradata-logs.query-logs-table e -Dteradata-logs.sql-logs-table flag.

Per impostazione predefinita, i log delle query vengono estratti dalle tabelle dbc.DBQLogTbl e dbc.DBQLSQLTbl. Se utilizzi il flag --assessment, la query registra vengono estratti dalla vista dbc.QryLogV e la tabella dbc.DBQLSQLTbl. Se hai bisogno di estrarre i log delle query da una posizione alternativa, puoi specificare i nomi completi delle tabelle o delle visualizzazioni utilizzando --query-log-alternates flag. Il primo parametro fa riferimento all'alternativa al Tabella dbc.DBQLogTbl e il secondo parametro fa riferimento all'alternativa Tabella dbc.DBQLSQLTbl. Sono obbligatori entrambi.
Il flag -Dteradata-logs.log-date-column può essere utilizzato per migliorano le prestazioni dell'estrazione quando entrambe le tabelle hanno un indice colonna di tipo DATE.

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

No
-Dteradata.tmode

La modalità di transazione per la connessione. I seguenti valori sono supportati:

  • ANSI: modalità ANSI. Questa è la modalità predefinita (se il flag non è specificato)
  • TERA: modalità di transazione Teradata (BTET)
  • DEFAULT: utilizza la modalità transazione predefinita configurato sul server del database
  • NONE: nessuna modalità impostata per la connessione

Esempio (bash):
-Dteradata.tmode=TERA

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

No
-Dteradata-logs.log-date-column

Solo per il connettore teradata-logs.

Per migliorare le prestazioni dell'unione delle tabelle specificate dal -Dteradata-logs.query-logs-table e -Dteradata-logs.sql-logs-table segnalazioni, puoi includere un'ulteriore colonna di tipo DATE nel Condizione JOIN. Questa colonna deve essere definita sia in e deve far parte dell'Indice principale partizionato.

Esempio (bash):
-Dteradata-logs.log-date-column=ArchiveLogDate

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

No
-Dteradata-logs.query-logs-table

Solo per il connettore teradata-logs.

Per impostazione predefinita, i log delle query vengono estratti Tabella dbc.DBQLogTbl. Se utilizzi --assessment, poi i log delle query vengono estratte dalla vista dbc.QryLogV. Per di estrarre i log delle query da una posizione alternativa, puoi specificare il nome completo della tabella o della vista utilizzando questo flag.
Visualizza -Dteradata-logs.log-date-column flag per migliorare le prestazioni di estrazione.

Esempio (bash):
-Dteradata-logs.query-logs-table=historicdb.ArchivedQryLogV

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

No
-Dteradata-logs.sql-logs-table

Solo per il connettore teradata-logs.

Per impostazione predefinita, i log delle query contenenti testo SQL vengono estratti la tabella dbc.DBQLSqlTbl. Per da una posizione alternativa, puoi specificare il nome completo della tabella o della vista utilizzando questo flag.
Visualizza -Dteradata-logs.log-date-column flag per migliorare le prestazioni di estrazione.

Esempio (bash):
-Dteradata-logs.sql-logs-table=historicdb.ArchivedDBQLSqlTbl

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

No
-Dteradata-logs.utility-logs-table

Solo per il connettore teradata-logs.

Per impostazione predefinita, i log dell'utilità vengono estratti dalla tabella dbc.DBQLUtilityTbl. Se hai bisogno di estrarre i log dell'utilità da una posizione alternativa, puoi specificare il nome completo della tabella utilizzando -Dteradata-logs.utility-logs-table flag.

Esempio (bash):
-Dteradata-logs.utility-logs-table=historicdb.ArchivedUtilityLogs

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

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

Solo per il connettore teradata-logs.

Per impostazione predefinita, i log di utilizzo delle risorse SCPU vengono estratti la tabella dbc.ResUsageScpu. Se hai bisogno di estrarre da una posizione alternativa, puoi specificare il nome completo della tabella utilizzando -Dteradata-logs.res-usage-scpu-table flag.

Esempio (bash):
-Dteradata-logs.res-usage-scpu-table=historicdb.ArchivedResUsageScpu

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

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

Solo per il connettore teradata-logs.

Per impostazione predefinita, i log di utilizzo delle risorse SPMA vengono estratti la tabella dbc.ResUsageSpma. Se hai bisogno di estrarre da una posizione alternativa, puoi specificare il nome completo della tabella utilizzando -Dteradata-logs.res-usage-spma-table flag.

Esempio (bash):
-Dteradata-logs.res-usage-spma-table=historicdb.ArchivedResUsageSpma

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

No
--query-log-start

L'ora di inizio (inclusa) per l'estrazione dei log delle query. Il valore è troncato all'ora. Questo flag è disponibile solo per teradata-logs.

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

No
--query-log-end

L'ora di fine (esclusa) per l'estrazione dei log delle query. Il valore è troncato all'ora. Questo flag è disponibile solo per teradata-logs.

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

No
-Dteradata.metadata.tablesizev.max-rows

Solo per il connettore teradata.

Limita il numero di righe estratte dalla vista TableSizeV. Le righe sono raggruppate in base alle colonne DatabaseName, AccountName, TableName e poi ordinati in ordine decrescente in base alla dimensione dello spazio permanente (l'espressione SUM(CurrentPerm)). Quindi, viene estratto il numero specificato di righe.

Esempio (bash):
-Dteradata.metadata.tablesizev.max-rows=100000

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

No
-Dteradata.metadata.diskspacev.max-rows

Solo per il connettore teradata.

Limita il numero di righe estratte dalla vista DiskSpaceV. Le righe vengono ordinate in ordine decrescente in base alle dimensioni spazio (colonna CurrentPerm), seguito dal valore di righe e il numero di righe.

Esempio (bash):
-Dteradata.metadata.diskspacev.max-rows=100000

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

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

Solo per il connettore teradata.

Limita il numero di righe che rappresentano gli utenti (DBKind='U') estratti dalla vista DatabasesV. Le righe sono ordinate in ordine decrescente in base alla colonna PermSpace, il numero specificato di righe viene estratto.

Esempio (bash):
-Dteradata.metadata.databasesv.users.max-rows=100000

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

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

Solo per il connettore teradata.

Limita il numero di righe che rappresentano i database (DBKind='D') estratti dalla vista DatabasesV. Le righe sono ordinate in ordine decrescente in base alla colonna PermSpace, il numero specificato di righe viene estratto.

Esempio (bash):
-Dteradata.metadata.databasesv.dbs.max-rows=100000

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

No
-Dteradata.metadata.max-text-length

Solo per il connettore teradata.

Lunghezza massima della colonna di testo durante l'estrazione dei dati da la vista TableTextV. Testo più lungo del limite definito verrà suddiviso in più righe. Intervallo consentito: tra 5000 e 32000 (incluso).

Esempio (bash):
-Dteradata.metadata.max-text-length=10000

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

No
-Dteradata-logs.max-sql-length

Solo per il connettore teradata-logs.

Lunghezza massima della colonna DBQLSqlTbl.SqlTextInfo. Il testo della query più lungo del limite definito verrà suddiviso in più righe. Intervallo consentito: tra 5000 e 31.000 (inclusi).

Esempio (bash):
-Dteradata-logs.max-sql-length=10000

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

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 la valutazione nel host locale per l'autenticazione:

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

Tabelle e visualizzazioni estratte dallo strumento dwh-migration-dumper

Quando utilizzi il connettore teradata, vengono estratte le seguenti tabelle e viste:

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

Le seguenti tabelle e viste aggiuntive vengono estratte quando utilizzi il connettore teradata con il flag --assessment:

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

Quando utilizzi il connettore teradata-logs, vengono estratte le seguenti tabelle e viste:

  • DBC.DBQLogTbl (cambia in DBC.QryLogV se 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.DBQLUtilityTbl
  • DBC.ResUsageScpu
  • DBC.ResUsageSpma

Redshift

Puoi usare una qualsiasi delle seguenti opzioni di autenticazione Amazon Redshift meccanismi di autorizzazione con lo strumento di estrazione:

  • Un nome utente e una password.
  • Un ID chiave di accesso e una chiave segreta di AWS Identity and Access Management (IAM).
  • Il nome di un profilo AWS IAM.

Per eseguire l'autenticazione con nome utente e password, utilizza Amazon Redshift driver JDBC PostgreSQL predefinito. Per eseguire l'autenticazione con AWS IAM, utilizza l'ambiente Amazon Driver JDBC Redshift, che puoi scaricare dal loro pagina di download.

La tabella seguente descrive i flag di uso comune per l'estrazione Log delle query e dei metadati Amazon Redshift utilizzando lo strumento dwh-migration-dumper. Per informazioni su tutti i flag supportati, consulta i flag globali.

Nome Valore predefinito Descrizione Obbligatorio
--assessment

Attivazione della modalità di valutazione durante la generazione di log di database o l'estrazione di metadati. Genera le statistiche sui metadati richieste per la valutazione della migrazione di BigQuery quando viene utilizzata per l'estrazione di metadati. Se utilizzato per l'estrazione dei log delle query, genera statistiche sulle metriche delle query per la valutazione della migrazione di BigQuery.

Obbligatorio durante l'esecuzione in modalità di valutazione, non richiesto per la traduzione.
--connector Il nome del connettore da utilizzare, in questo caso redshift per metadati o redshift-raw-logs per i log delle query.
--database Se non specificato, Amazon Redshift utilizza il valore --user come nome predefinito del database.

Il nome del database a cui connettersi.

No
--driver Se non specificato, Amazon Redshift utilizza il JDBC PostgreSQL predefinito conducente. 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 del 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 AKIAIOSFODNN7EXAMPLE.

Da utilizzare in combinazione con --iam-secretaccesskey flag. Azioni sconsigliate usa questo flag quando specifichi --iam-profile --password flag.

Non esplicitamente, ma devi fornire informazioni di autenticazione utilizzando uno dei seguenti metodi:

  • Se utilizzi questo flag insieme --iam-secretaccesskey flag.
  • Utilizzo del flag --iam-profile.
  • Utilizzo del flag --password in combinazione con Flag --user.
--iam-profile

Il profilo AWS IAM da utilizzare per l'autenticazione. Puoi recuperare un il valore del profilo da utilizzare esaminando $HOME/.aws/credentials file o eseguendo aws configure list-profiles.

Non usare questo flag con --iam-accesskeyid, --iam-secretaccesskey o --password e i flag facoltativi.

Non esplicitamente, ma devi fornire informazioni di autenticazione utilizzando uno dei seguenti metodi:

  • Utilizzo di questo flag.
  • Utilizzo del flag --iam-accesskeyid in combinazione con il flag --iam-secretaccesskey.
  • Utilizzo del flag --password in combinazione con Flag --user.
--iam-secretaccesskey

La chiave di accesso al secret AWS IAM da utilizzare per l'autenticazione. Il segreto la chiave di accesso è una stringa di caratteri, ad esempio wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.

Da utilizzare in combinazione con --iam-accesskeyid flag. Azioni sconsigliate usa questo flag con --iam-profile o --password flag.

Non esplicitamente, ma devi fornire informazioni di autenticazione utilizzando uno dei seguenti metodi:

  • Se utilizzi questo flag insieme --iam-accesskeyid flag.
  • Utilizzo del flag --iam-profile.
  • Utilizzo del flag --password in combinazione con Flag --user.
--password La password da utilizzare per la connessione al database.

Non usare questo flag con --iam-accesskeyid, --iam-secretaccesskey o --iam-profile e i flag facoltativi.

Non esplicitamente, ma devi fornire informazioni di autenticazione utilizzando uno dei seguenti metodi:

  • Se utilizzi questo flag insieme --user flag.
  • Utilizzo del flag --iam-accesskeyid in combinazione con il flag --iam-secretaccesskey.
  • Utilizzo del flag --password.
--port 5439 La porta del server del database. No
--user Il nome utente da utilizzare per la connessione al database.
--query-log-start

L'ora di inizio (inclusa) per l'estrazione dei log delle query. Il valore è troncato all'ora. Questo flag è disponibile solo per redshift-raw-logs.

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

No
--query-log-end

L'ora di fine (esclusa) per l'estrazione dei log delle query. Il valore è troncato all'ora. Questo flag è disponibile solo per redshift-raw-logs.

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

No

Esempi

L'esempio seguente mostra come estrarre i metadati da un 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 Amazon Redshift sull'host predefinito, utilizzando il nome utente 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 Amazon Redshift database 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 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 visualizzazioni estratte dallo strumento dwh-migration-dumper

Quando utilizzi il connettore redshift, vengono estratte le seguenti tabelle e viste:

  • 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

Le seguenti tabelle e viste aggiuntive vengono estratte quando utilizzi il connettore redshift con il flag --assessment:

  • SVV_DISKUSAGE
  • STV_MV_INFO
  • STV_WLM_SERVICE_CLASS_CONFIG
  • STV_WLM_SERVICE_CLASS_STATE

Quando utilizzi il connettore redshift-raw-logs, vengono estratte le seguenti tabelle e viste:

  • STL_DDLTEXT
  • STL_QUERY
  • STL_QUERYTEXT
  • PG_USER

Le seguenti tabelle e viste aggiuntive vengono estratte quando utilizzi il connettore redshift-raw-logs con il flag --assessment:

  • STL_QUERY_METRICS
  • SVL_QUERY_QUEUE_INFO
  • STL_WLM_QUERY

Per informazioni sulle viste di sistema e sulle tabelle in Redshift, consulta Visualizzazioni di sistema Redshift e Tabelle del catalogo di sistema Redshift.

Apache Hive/Spark o Trino/PrestoSQL

Lo strumento dwh-migration-dumper supporta solo l'autenticazione sul metastore Apache Hive tramite Kerberos. Quindi i flag --user e --password non vengono utilizzati, usa il flag --hive-kerberos-url per fornire i dettagli di autenticazione Kerberos.

La tabella seguente descrive i flag di uso comune per l'estrazione Metadati Apache Hive, Spark, Presto o Trino utilizzando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta la sezione sui flag globali.

Nome Valore predefinito Descrizione Obbligatorio
--assessment

Attiva la modalità di valutazione durante l'estrazione dei metadati. Lo strumento dwh-migration-dumper genera le statistiche sui metadati richieste per Valutazione della migrazione di BigQuery quando utilizzata per l'estrazione di metadati.

Obbligatorio per il test. Non obbligatorio per la traduzione.
--connector Il nome del connettore da utilizzare, in questo caso hiveql.
--hive-metastore-dump-partition-metadata true

Consente allo strumento dwh-migration-dumper di estrarre i metadati della partizione. Tu potresti voler impostare questo flag su false per l'ambiente di produzione metastore con un numero significativo di partizioni, a causa di Thrift implicazioni in termini di rendimento del cliente. Ciò migliora delle prestazioni dello strumento di estrazione, ma provoca la perdita della partizione dell'ottimizzazione lato BigQuery.

Non usare questo flag con il flag --assessment, perché non avrà alcun effetto.

No
--hive-metastore-version 2.3.6

Quando lo esegui, lo strumento dwh-migration-dumper seleziona la specifica Thrift appropriata utilizzare per comunicare con il server Apache Hive, in base al valore di questa segnalazione. Se lo strumento di estrazione non dispone di un Thrift specifica, utilizza il client 2.3.6 ed emette un avviso a stdout. In questo caso, contattare l'assistenza e fornire il codice Apache Hive del numero di versione richiesto.

No
--host localhost Il nome host o l'indirizzo IP del server del database. No
--port 9083 La porta del server del database. No
--hive-kerberos-url Entità e 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. Questo determina la qualità of Protection (QOP) del livello di protezione e autenticazione semplice (SASL) tra il cluster e lo strumento dwh-migration-dumper.

Deve essere uguale al valore dell'attributo hadoop.rpc.protection all'interno del file /etc/hadoop/conf/core-site.xml sul cluster, con uno dei seguenti valori:

  • authentication
  • integrity
  • privacy

Esempio (bash):
-Dhiveql.rpc.protection=privacy

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

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 di lettura al metastore Hive e genera un ticket Kerberos. Quindi, genera 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 dal pagina di download.

La tabella seguente descrive i flag di uso comune per l'estrazione Metadati Azure Synapse o Microsoft SQL Server usando lo strumento di estrazione. Per informazioni su tutti i flag supportati, consulta la sezione sui flag globali.

Nome Valore predefinito Descrizione Obbligatorio
--connector Il nome del connettore da utilizzare, in questo caso sqlserver.
--database

Il nome del database a cui connettersi.

--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.
--host localhost Il nome host o l'indirizzo IP del server del database. No
--password La password da utilizzare per la connessione al database.
--port 1433 La porta del server del database. No
--user Il nome utente da utilizzare per la connessione al database.

Esempi

L'esempio seguente mostra come estrarre i metadati da una 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

Netezza

Per consentire allo strumento dwh-migration-dumper di connettersi a IBM Netezza, devi ottenere il driver JDBC. Di solito puoi far andare l'autista dal /nz/kit/sbin sull'host dell'appliance IBM Netezza. Se non riesci a trovarlo in questa posizione, chiedi l'amministratore di sistema per ricevere assistenza, Installazione e configurazione di JDBC nella documentazione di IBM Netezza.

La tabella seguente descrive i flag di uso comune per l'estrazione 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.
--database

Un elenco dei database da estrarre, separati da virgole.

--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.
--host localhost Il nome host o l'indirizzo IP del server del database. No
--password La password da utilizzare per la connessione al database.
--port 5480 La porta del server del database. No
--user Il nome utente da utilizzare per la connessione al database.

Esempi

L'esempio seguente mostra come estrarre i metadati per due IBM Netezza su un host specificato:

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

Oracle

Per consentire allo strumento dwh-migration-dumper di connettersi a Oracle, scarica il relativo il driver JDBC di Oracle pagina di download.

La tabella seguente descrive i flag di uso comune per l'estrazione tramite 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.
--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.
--host localhost Il nome host o l'indirizzo IP del server del database. No
--oracle-service

Il nome del servizio Oracle da utilizzare per la connessione.

Non esplicitamente, ma devi specificare questo flag o --oracle-sid flag.
--oracle-sid

L'identificatore di sistema Oracle (SID) da utilizzare per la connessione.

Non esplicitamente, ma devi specificare questo flag o --oracle-service flag.
--password La password da utilizzare per la connessione al database. Se non specificato, lo strumento di estrazione utilizza un prompt sicuro per richiederlo.
--port 1521 La porta del server del database. No
--user

Il nome utente da utilizzare per la connessione al database.

L'utente specificato deve avere il ruolo SELECT_CATALOG_ROLE per estrarre i metadati. Per vedere se l'utente ha ruolo richiesto, esegui la query select granted_role from user_role_privs; rispetto a database Oracle.

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 Metadati Snowflake utilizzando lo strumento dwh-migration-dumper. 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 snowflake.
--database

Il nome del database a cui connettersi.

Da Snowflake puoi estrarre solo da un database alla volta.

--host localhost Il nome host o l'indirizzo IP del server del database. No
--password La password da utilizzare per la connessione al database. Se non specificato, lo strumento di estrazione utilizza un prompt sicuro per richiederlo.
--role Il ruolo Snowflake da utilizzare per l'autorizzazione. Devi solo specificare questo per le installazioni di grandi dimensioni in cui devi recuperare i metadati Schema SNOWFLAKE.ACCOUNT_USAGE anziché INFORMATION_SCHEMA. Per ulteriori informazioni, vedi Utilizzo di istanze Snowflake di grandi dimensioni. No
--user

Il nome utente da utilizzare per la connessione al database.

--warehouse

Il warehouse Snowflake da utilizzare per l'elaborazione delle query sui metadati.

Esempi

L'esempio seguente mostra come estrarre i metadati per un modello di dimensioni Database Snowflake sull'host locale:

dwh-migration-dumper \
  --connector snowflake \
  --database database \
  --password password \
  --user user \
  --warehouse warehouse

L'esempio seguente mostra come estrarre i metadati per un modello Database Snowflake su un host specificato:

dwh-migration-dumper \
  --connector snowflake \
  --database database \
  --host "account.snowflakecomputing.com" \
  --password password \
  --role role \
  --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 recupera da INFORMATION_SCHEMA. Se esegui il comando strumento di estrazione e riceverai l'errore SnowflakeSQLException: Information schema query returned too much data, seguire questi passaggi per poter leggere i metadati Schema SNOWFLAKE.ACCOUNT_USAGE:

  1. Apri l'opzione Condivisioni nell'interfaccia web di Snowflake.
  2. Crea un database dalla condivisione SNOWFLAKE.ACCOUNT_USAGE:

    -- CREATE DATABASE database FROM SHARE SNOWFLAKE.ACCOUNT_USAGE;
    
  3. Crea un ruolo:

    CREATE ROLE role;
    
  4. Concedi a IMPORTED i privilegi per il nuovo database al ruolo:

    GRANT IMPORTED PRIVILEGES ON DATABASE database TO ROLE role;
    
  5. Concedi il ruolo all'utente che intendi utilizzare per eseguire Strumento dwh-migration-dumper:

    GRANT ROLE role TO USER user;
    

Vertica

Per consentire allo strumento dwh-migration-dumper di connettersi a Vertica: scaricare il driver JDBC dal pagina di download.

La tabella seguente descrive i flag di uso comune per l'estrazione 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.
--database

Il nome del database a cui connettersi.

--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.
--host localhost Il nome host o l'indirizzo IP del server del database. No
--password La password da utilizzare per la connessione al database.
--port 5433 La porta del server del database. No
--user Il nome utente da utilizzare per la connessione al database.

Esempi

L'esempio seguente mostra come estrarre i metadati da un file Vertica sull'host locale:

dwh-migration-dumper \
  --driver path/vertica-jdbc.jar \
  --connector vertica \
  --database database
  --user user
  --password password

Segnalazioni globali

La tabella seguente descrive i flag che possono essere utilizzati con qualsiasi piattaforme di origine supportate.

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 quando ti connetti al sistema di origine. Puoi specificare più file JAR del driver, separandoli con una virgola.
--dry-run o -n Mostra quali azioni eseguirebbe lo strumento di estrazione senza eseguendole.
--help Visualizza la guida della riga di comando.
--host Il nome host o l'indirizzo IP del server del database a cui connetterti.
--jdbcDriverClass Facoltativamente, sostituisce il nome della classe del driver JDBC specificato dal fornitore. Da utilizzare 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 . Se specifichi il percorso di una directory, il file ZIP predefinito viene creato il nome file nella directory specificata. Se la directory non esiste, viene creato.

Per utilizzare Cloud Storage, usa il formato seguente:
gs://<BUCKET>/<PATH>

Per eseguire l'autenticazione utilizzando le credenziali Google Cloud, consulta Esegui l'autenticazione per l'utilizzo delle librerie client.

--password La password da utilizzare per la connessione al database.
--port La porta del server del database.
--save-response-file Salva i flag della riga di comando in un file JSON per riutilizzarli facilmente. La il file è denominato dumper-response-file.json e viene creato nella directory di lavoro. Per utilizzare il file di risposta, indica il percorso preceduto da @ quando esegui lo strumento di estrazione, esempio dwh-migration-dumper @path/to/dumper-response-file.json.
--schema

Un elenco degli schemi da estrarre, separati da virgole.

Oracle non fa distinzione tra schema e l'utente del database che ha creato lo schema, quindi puoi usare nomi di schema o nomi utente con il flag --schema. Per ad esempio --schema schema1,user2,schema3.

--thread-pool-size

Imposta la dimensione del pool di thread, che influisce sulle dimensioni del pool di connessioni. La dimensione predefinita del pool di thread è il numero di core sul server eseguendo lo strumento dwh-migration-dumper.

Se lo strumento di estrazione sembra lento o richiede comunque altro puoi aumentare il numero di thread utilizzati. Se ci sono indicazioni del fatto che altri processi sul server richiedono larghezza di banda, puoi ridurre il numero di thread in uso.

--url

L'URL da utilizzare per la connessione al database, anziché l'URI generate dal driver JDBC.

L'URI generato dovrebbe essere sufficiente nella maggior parte dei casi. Sostituisci solo il valore quando devi usare un'impostazione di connessione JDBC specifici per la piattaforma di origine e non sono già impostati da uno dei i flag elencati in questa tabella.

--user Il nome utente da utilizzare per la connessione al database.
--version Mostra la versione del prodotto.

Risoluzione dei problemi

Questa sezione illustra alcuni problemi comuni e tecniche di risoluzione dei problemi relativi lo strumento dwh-migration-dumper.

Errore di memoria insufficiente

Errore java.lang.OutOfMemoryError nel terminale di strumenti dwh-migration-dumper L'output è spesso correlato a una memoria insufficiente per elaborare i dati recuperati. Per risolvere questo problema, aumenta la memoria disponibile o riduci il numero di l'elaborazione dei thread.

Puoi aumentare la memoria massima esportando l'ambiente JAVA_OPTS variabile:

Linux

export JAVA_OPTS="-Xmx4G"

Windows

set JAVA_OPTS="-Xmx4G"

Puoi ridurre il numero di thread di elaborazione (il valore predefinito è 32) includendo il flag --thread-pool-size. Questa opzione è supportata per hiveql e redshift* solo connettori.

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: … nella Output del terminale strumento dwh-migration-dumper. Lo strumento di estrazione invia più query al sistema di origine e l'output di ogni query viene scritto in un proprio file. La visualizzazione di questo problema indica che una di queste query non riuscite. Tuttavia, l'errore di una query non ne impedisce l'esecuzione delle altre query. Se vedi più di un paio di WARN errori, esamina i dettagli del problema e controlla se c'è tutto ciò che devi correggere per far sì che la query venga eseguita correttamente. Ad esempio, se l'utente del database specificato durante l'esecuzione strumento di estrazione non dispone delle autorizzazioni per leggere tutti i metadati, riprova con un utente che dispone delle autorizzazioni corrette.

File ZIP danneggiato

Per convalidare il file ZIP dello strumento dwh-migration-dumper, scarica File SHA256SUMS.txt ed esegui questo comando:

sha256sum --check SHA256SUMS.txt

Il risultato di OK conferma l'esito positivo della verifica del checksum. Qualsiasi altro messaggio indica un errore di verifica:

  • FAILED: computed checksum did NOT match: il file ZIP è danneggiato e presenta per eseguire un nuovo download.
  • FAILED: listed file could not be read: la versione del file ZIP non può essere individuarlo. Assicurati che il checksum e i file ZIP vengano scaricati dalla stessa di release e collocato nella stessa directory.

L'estrazione dei log di query Teradata è lenta

Per migliorare le prestazioni dell'unione delle tabelle specificate dal -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, usa il flag -Dteradata-logs.log-date-column.

Esempio:

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 dimensione riga Teradata superato

Teradata 15 ha un limite di dimensione delle righe di 64 kB. Se il limite viene superato, il dumper ha esito negativo con il seguente messaggio: none [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 dividi le righe in più righe:

  • Installa e abilita la funzionalità Righe consentite e di risposta da 1 MB e la TTU attuale software. Per ulteriori informazioni, vedi Messaggio database Teradata 9804
  • Suddividi il testo lungo della query in più righe utilizzando il metodo -Dteradata.metadata.max-text-length e -Dteradata-logs.max-sql-length e i flag facoltativi.

Il comando seguente mostra l'utilizzo dell'interfaccia Flag -Dteradata.metadata.max-text-length per suddividere il testo lungo della query 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 comando seguente mostra l'utilizzo dell'interfaccia Flag -Dteradata-logs.max-sql-length per suddividere il testo lungo della query 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"

Passaggi successivi

Dopo aver eseguito lo strumento dwh-migration-dumper, carica l'output in Cloud Storage insieme ai file di origine per la traduzione.