Membuat metadata untuk terjemahan dan penilaian
Dokumen ini menjelaskan cara membuat metadata dan membuat kueri file log dengan menggunakan alat ekstraksi command line dwh-migration-dumper
. File metadata menjelaskan objek SQL di sistem sumber Anda.
BigQuery Migration Service menggunakan informasi ini untuk meningkatkan terjemahan skrip SQL dari dialek sistem sumber Anda ke GoogleSQL.
Penilaian migrasi BigQuery menggunakan file metadata dan file log kueri untuk menganalisis data warehouse yang ada dan membantu menilai upaya pemindahan data warehouse Anda ke BigQuery.
Ringkasan
Anda dapat menggunakan alat dwh-migration-dumper
untuk mengekstrak informasi metadata dari platform database yang Anda migrasikan ke BigQuery. Meskipun penggunaan alat ekstraksi tidak diwajibkan untuk penerjemahan, alat ini wajib untuk penilaian migrasi BigQuery dan sebaiknya gunakan untuk semua tugas migrasi.
Untuk informasi selengkapnya, baca Membuat file metadata.
Anda dapat menggunakan alat dwh-migration-dumper
untuk mengekstrak metadata dari platform database berikut:
- Teradata
- Amazon Redshift
- Apache Hive
- Apache Spark
- Azure Synapse
- Microsoft SQL Server
- IBM Netezza
- Oracle
- Snowflake
- Trino atau PrestoSQL
- Vertica
Untuk sebagian besar database ini, Anda juga dapat mengekstrak log kueri.
Alat dwh-migration-dumper
membuat kueri pada tabel sistem untuk mengumpulkan pernyataan bahasa definisi data (DDL) yang terkait dengan database pengguna dan sistem. Alat ini tidak membuat kueri konten database pengguna. Alat ini menyimpan informasi metadata dari tabel sistem sebagai file CSV, lalu mengompresi file tersebut menjadi satu paket. Kemudian, Anda mengupload file zip ini ke Cloud Storage saat mengupload file sumber untuk diterjemahkan atau dinilai.
Saat menggunakan opsi log kueri, alat dwh-migration-dumper
membuat kueri tabel sistem untuk pernyataan DDL dan log kueri yang terkait dengan database pengguna dan sistem. Hasilnya disimpan dalam format CSV atau yaml ke subdirektori, lalu dikemas ke dalam paket zip. Konten database pengguna tidak akan dibuat sendiri kuerinya. Pada tahap ini, penilaian migrasi BigQuery memerlukan file CSV, YAML, dan teks individual untuk log kueri, sehingga Anda harus mengekstrak semua file ini dari file ZIP log kueri dan menguploadnya untuk penilaian.
Alat dwh-migration-dumper
dapat berjalan di Windows, macOS, dan Linux.
Alat dwh-migration-dumper
tersedia dalam lisensi Apache 2.
Jika memilih untuk tidak menggunakan alat dwh-migration-dumper
untuk menerjemahkan, Anda dapat menyediakan file metadata secara manual dengan mengumpulkan pernyataan bahasa definisi data (DDL) untuk objek SQL di sistem sumber ke dalam file teks terpisah.
Berikan metadata dan log kueri yang diekstrak dengan alat ini diperlukan untuk penilaian migrasi menggunakan penilaian migrasi BigQuery.
Persyaratan kepatuhan
Kami menyediakan biner alat dwh-migration-dumper
yang telah dikompilasi untuk kemudahan penggunaan. Jika perlu mengaudit alat untuk memastikannya memenuhi persyaratan kepatuhan, Anda dapat meninjau kode sumber dari repositori GitHub alat dwh-migration-dumper
, dan mengompilasi biner Anda sendiri.
Prasyarat
Menginstal Java
Server tempat Anda berencana menjalankan alat dwh-migration-dumper
harus sudah menginstal Java 8 atau yang lebih baru. Jika tidak, download Java dari halaman download Java, lalu instal.
Izin yang diperlukan
Akun pengguna yang Anda tentukan untuk menghubungkan alat dwh-migration-dumper
ke sistem sumber harus memiliki izin untuk membaca metadata dari sistem tersebut.
Pastikan akun ini memiliki keanggotaan peran yang sesuai untuk membuat kueri resource metadata yang tersedia untuk platform Anda. Misalnya, INFORMATION_SCHEMA
adalah resource metadata yang umum di beberapa platform.
Menginstal alat dwh-migration-dumper
Untuk menginstal alat dwh-migration-dumper
, ikuti langkah-langkah berikut:
- Di komputer tempat Anda ingin menjalankan alat
dwh-migration-dumper
, download file zip dari repositori GitHub alatdwh-migration-dumper
. - Download
file
SHA256SUMS.txt
dan jalankan perintah berikut:sha256sum --check SHA256SUMS.txt
Jika verifikasi gagal, lihat Pemecahan masalah. - Ekstrak file ZIP. Biner alat ekstraksi berada dalam subdirektori
/bin
dari folder yang dibuat dengan mengekstrak file ZIP. - Update variabel lingkungan
PATH
untuk menyertakan jalur penginstalan untuk alat ekstraksi.
Menjalankan alat dwh-migration-dumper
Alat dwh-migration-dumper
menggunakan format berikut:
dwh-migration-dumper [FLAGS]
Menjalankan alat dwh-migration-dumper
akan membuat file output bernama
dwh-migration-<source platform>-metadata.zip
—misalnya,
dwh-migration-teradata-metadata.zip
, di direktori kerja Anda.
Gunakan petunjuk berikut untuk mempelajari cara menjalankan alat dwh-migration-dumper
untuk platform sumber Anda.
Teradata
Untuk mengizinkan alat dwh-migration-dumper
terhubung ke Teradata, download driver JDBC-nya dari halaman download Teradata.
Tabel berikut menjelaskan flag yang umum digunakan untuk mengekstrak metadata Teradata dan log kueri menggunakan alat ekstraksi. Untuk informasi tentang semua flag yang didukung, lihat flag global.
Nama | Nilai default | Deskripsi | Wajib |
---|---|---|---|
--assessment |
Mengaktifkan mode penilaian saat membuat log database atau mengekstrak metadata.
Alat |
Wajib diisi saat menggunakan untuk menjalankan penilaian, tidak perlu untuk menerjemahkan. | |
--connector |
Nama konektor yang akan digunakan, dalam hal ini teradata untuk metadata atau teradata-logs untuk log kueri. | Ya | |
--database |
Daftar database yang akan diekstrak, dipisahkan dengan koma. Nama database mungkin peka huruf besar/kecil, bergantung pada konfigurasi server Teradata. Jika tanda ini digunakan bersama dengan konektor Tanda ini tidak dapat digunakan bersama dengan konektor |
Tidak | |
--driver |
Jalur absolut atau relatif ke file JAR driver yang akan digunakan untuk koneksi ini. Anda dapat menentukan beberapa file JAR driver, dengan memisahkannya dengan koma. | Ya | |
--host |
localhost | Nama host atau alamat IP server database. | Tidak |
--password |
Kata sandi yang akan digunakan untuk koneksi database. | Jika tidak ditentukan, alat ekstraksi akan menggunakan permintaan yang aman untuk memintanya. | |
--port |
1025 | Port server database. | Tidak |
--user |
Nama pengguna yang akan digunakan untuk koneksi database. |
Ya | |
--query-log-alternates |
Hanya untuk konektor Untuk mengekstrak log kueri dari lokasi alternatif, kami
merekomendasikan agar Anda menggunakan
tanda
Secara default, log kueri diekstrak dari tabel Contoh: |
Tidak | |
-Dteradata.tmode |
Mode transaksi untuk koneksi. Nilai-nilai berikut ini didukung:
Contoh (Bash): Contoh (Windows PowerShell): |
Tidak | |
-Dteradata-logs.log-date-column |
Hanya untuk konektor
Untuk meningkatkan performa tabel gabungan yang ditentukan oleh tanda Contoh (Bash): Contoh (Windows PowerShell): |
Tidak | |
-Dteradata-logs.query-logs-table |
Hanya untuk konektor
Secara default, log kueri diekstrak dari tabel Contoh (Bash): Contoh (Windows PowerShell): |
Tidak | |
-Dteradata-logs.sql-logs-table |
Hanya untuk konektor
Secara default, log kueri yang berisi teks SQL diekstrak dari
tabel Contoh (Bash): Contoh (Windows PowerShell): |
Tidak | |
-Dteradata-logs.utility-logs-table |
Hanya untuk konektor
Secara default, log utilitas diekstrak dari tabel Contoh (Bash): Contoh (Windows PowerShell): |
Tidak | |
-Dteradata-logs.res-usage-scpu-table |
Hanya untuk konektor
Secara default, log penggunaan resource SCPU diekstrak dari
tabel Contoh (Bash): Contoh (Windows PowerShell): |
Tidak | |
-Dteradata-logs.res-usage-spma-table |
Hanya untuk konektor
Secara default, log penggunaan resource SPMA diekstrak dari
tabel Contoh (Bash): Contoh (Windows PowerShell): |
Tidak | |
--query-log-start |
Waktu mulai (inklusif) untuk diekstrak log kueri. Nilai akan dipotong menjadi jam. Flag ini hanya tersedia untuk konektor teradata-logs.
Contoh: |
Tidak | |
--query-log-end |
Waktu berakhir (eksklusif) untuk ekstraksi log kueri. Nilai akan dipotong menjadi jam. Flag ini hanya tersedia untuk konektor teradata-logs.
Contoh: |
Tidak | |
-Dteradata.metadata.tablesizev.max-rows |
Hanya untuk konektor Batasi jumlah baris yang diekstrak dari Contoh (Bash): Contoh (Windows PowerShell): |
Tidak | |
-Dteradata.metadata.diskspacev.max-rows |
Hanya untuk konektor Batasi jumlah baris yang diekstrak dari Contoh (Bash): Contoh (Windows PowerShell): |
Tidak | |
-Dteradata.metadata.databasesv.users.max-rows |
Hanya untuk konektor
Batasi jumlah baris yang mewakili pengguna ( Contoh (Bash): Contoh (Windows PowerShell): |
Tidak | |
-Dteradata.metadata.databasesv.dbs.max-rows |
Hanya untuk konektor Batasi jumlah baris yang mewakili database ( Contoh (Bash): Contoh (Windows PowerShell): |
Tidak | |
-Dteradata.metadata.max-text-length |
Hanya untuk konektor Panjang maksimum kolom teks saat mengekstrak data dari
tampilan Contoh (Bash): Contoh (Windows PowerShell): |
Tidak | |
-Dteradata-logs.max-sql-length |
Hanya untuk konektor Panjang maksimum kolom Contoh (Bash): Contoh (Windows PowerShell): |
Tidak |
Contoh
Contoh berikut menunjukkan cara mengekstrak metadata untuk dua database Teradata di host lokal:
dwh-migration-dumper \
--connector teradata \
--user user \
--password password \
--database database1,database2 \
--driver path/terajdbc4.jar
Contoh berikut menunjukkan cara mengekstrak log kueri untuk Penilaian di host lokal untuk autentikasi:
dwh-migration-dumper \
--connector teradata-logs \
--assessment \
--user user \
--password password \
--driver path/terajdbc4.jar
Tabel dan tabel virtual yang diekstrak oleh alat dwh-migration-dumper
Tabel dan tabel virtual berikut diekstrak saat Anda menggunakan konektor teradata
:
DBC.ColumnsV
DBC.DatabasesV
DBC.DBCInfo
DBC.FunctionsV
DBC.IndicesV
DBC.PartitioningConstraintsV
DBC.TablesV
DBC.TableTextV
Tabel dan tabel virtual tambahan berikut diekstrak saat Anda menggunakan konektor teradata
dengan flag --assessment
:
DBC.All_RI_ChildrenV
DBC.All_RI_ParentsV
DBC.AllTempTablesVX
DBC.DiskSpaceV
DBC.RoleMembersV
DBC.StatsV
DBC.TableSizeV
Tabel dan tabel virtual berikut diekstrak saat Anda menggunakan konektor teradata-logs
:
DBC.DBQLogTbl
(berubah menjadiDBC.QryLogV
jika flag--assessment
digunakan)DBC.DBQLSqlTbl
Tabel dan tabel virtual tambahan berikut diekstrak saat Anda menggunakan konektor teradata-logs
dengan flag --assessment
:
DBC.DBQLUtilityTbl
DBC.ResUsageScpu
DBC.ResUsageSpma
Redshift
Anda dapat menggunakan salah satu mekanisme otorisasi dan autentikasi Amazon Redshift berikut dengan alat ekstraksi:
- Nama pengguna dan sandi.
- ID kunci akses dan kunci rahasia Pengelolaan Akses dan Identitas (IAM) AWS.
- Nama profil IAM AWS.
Untuk mengautentikasi dengan nama pengguna dan sandi, gunakan driver JDBC PostgreSQL default Amazon Redshift. Untuk mengautentikasi dengan IAM AWS, gunakan driver JDBC Amazon Redshift, yang dapat didownload dari halaman download ini.
Tabel berikut menjelaskan flag yang biasa digunakan untuk mengekstrak metadata dan log kueri Amazon Redshift menggunakan alat dwh-migration-dumper
. Untuk informasi tentang semua flag yang didukung, lihat flag global.
Nama | Nilai default | Deskripsi | Wajib |
---|---|---|---|
--assessment |
Mengaktifkan mode penilaian saat membuat log database atau mengekstrak metadata. Alat ini menghasilkan statistik metadata yang diperlukan untuk penilaian migrasi BigQuery saat digunakan untuk ekstraksi metadata. Saat digunakan untuk ekstraksi log kueri, alat ini akan menghasilkan statistik metrik kueri untuk penilaian migrasi BigQuery. |
Wajib diisi saat menjalankan mode penilaian dan tidak diperlukan untuk penerjemahan. | |
--connector |
Nama konektor yang akan digunakan, dalam hal ini redshift untuk metadata atau redshift-raw-logs untuk log kueri. | Ya | |
--database |
Jika tidak ditentukan, Amazon Redshift akan menggunakan nilai --user sebagai nama database default. |
Nama database yang akan dihubungkan. |
Tidak |
--driver |
Jika tidak ditentukan, Amazon Redshift akan menggunakan driver JDBC PostgreSQL default. | Jalur absolut atau relatif ke file JAR driver yang akan digunakan untuk koneksi ini. Anda dapat menentukan beberapa file JAR driver, dengan memisahkannya dengan koma. | Tidak |
--host |
localhost | Nama host atau alamat IP server database. | Tidak |
--iam-accesskeyid |
ID kunci akses IAM AWS yang akan digunakan untuk autentikasi. Kunci akses adalah string karakter, seperti
Gunakan bersama dengan flag |
Hal ini tidak secara eksplisit, tetapi Anda harus memberikan informasi autentikasi melalui salah satu metode berikut:
|
|
--iam-profile |
Profil IAM AWS yang akan digunakan untuk autentikasi. Anda dapat mengambil nilai profil yang akan digunakan dengan memeriksa file
Jangan gunakan flag ini dengan flag |
Hal ini tidak secara eksplisit, tetapi Anda harus memberikan informasi autentikasi melalui salah satu metode berikut:
|
|
--iam-secretaccesskey |
Kunci akses rahasia IAM AWS yang akan digunakan untuk autentikasi. Kunci akses rahasia adalah string karakter, seperti
Gunakan bersama dengan flag |
Hal ini tidak secara eksplisit, tetapi Anda harus memberikan informasi autentikasi melalui salah satu metode berikut:
|
|
--password |
Kata sandi yang akan digunakan untuk koneksi database.
Jangan gunakan flag ini dengan flag |
Hal ini tidak secara eksplisit, tetapi Anda harus memberikan informasi autentikasi melalui salah satu metode berikut:
|
|
--port |
5439 | Port server database. | Tidak |
--user |
Nama pengguna yang akan digunakan untuk koneksi database. | Ya | |
--query-log-start |
Waktu mulai (inklusif) untuk diekstrak log kueri. Nilai akan dipotong menjadi jam. Tanda ini hanya tersedia untuk konektor redshift-raw-logs.
Contoh: |
Tidak | |
--query-log-end |
Waktu berakhir (eksklusif) untuk ekstraksi log kueri. Nilai akan dipotong menjadi jam. Tanda ini hanya tersedia untuk konektor redshift-raw-logs.
Contoh: |
Tidak |
Contoh
Contoh berikut menunjukkan cara mengekstrak metadata dari database Amazon Redshift pada host tertentu, menggunakan kunci IAM AWS untuk autentikasi:
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
Contoh berikut menunjukkan cara mengekstrak metadata dari database Amazon Redshift di host default, menggunakan nama pengguna dan sandi untuk autentikasi:
dwh-migration-dumper \
--connector redshift \
--database database \
--password password \
--user user
Contoh berikut menunjukkan cara mengekstrak metadata dari database Amazon Redshift di host tertentu, menggunakan profil IAM AWS untuk autentikasi:
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
Contoh berikut menunjukkan cara mengekstrak log kueri untuk Assessment dari database Amazon Redshift pada host tertentu, menggunakan profil IAM AWS untuk autentikasi:
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
Tabel dan tabel virtual yang diekstrak oleh alat dwh-migration-dumper
Tabel dan tabel virtual berikut diekstrak saat Anda menggunakan konektor 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
Tabel dan tabel virtual tambahan berikut diekstrak saat Anda menggunakan konektor redshift
dengan flag --assessment
:
SVV_DISKUSAGE
STV_MV_INFO
STV_WLM_SERVICE_CLASS_CONFIG
STV_WLM_SERVICE_CLASS_STATE
Tabel dan tabel virtual berikut diekstrak saat Anda menggunakan konektor redshift-raw-logs
:
STL_DDLTEXT
STL_QUERY
STL_QUERYTEXT
PG_USER
Tabel dan tabel virtual tambahan berikut diekstrak saat Anda menggunakan konektor redshift-raw-logs
dengan flag --assessment
:
STL_QUERY_METRICS
SVL_QUERY_QUEUE_INFO
STL_WLM_QUERY
Untuk informasi tentang tabel virtual dan tabel sistem di Redshift, lihat Tabel virtual sistem Redshift dan Tabel katalog sistem Redshift.
Apache Hive/Spark atau Trino/PrestoSQL
Alat dwh-migration-dumper
hanya mendukung autentikasi ke metastore Apache Hive
melalui Kerberos. Agar flag --user
dan --password
tidak digunakan. Sebagai gantinya, gunakan flag --hive-kerberos-url
untuk memberikan detail autentikasi Kerberos.
Tabel berikut menjelaskan flag yang umum digunakan untuk mengekstrak metadata Apache Hive, Spark, Presto, atau Trino menggunakan alat ekstraksi. Untuk informasi tentang semua flag yang didukung, lihat flag global.
Nama | Nilai default | Deskripsi | Wajib |
---|---|---|---|
--assessment |
Mengaktifkan mode penilaian saat mengekstrak metadata.
Alat |
Diperlukan untuk penilaian. Tidak diperlukan untuk terjemahan. | |
--connector |
Nama konektor yang akan digunakan, dalam hal ini hiveql. | Ya | |
--hive-metastore-dump-partition-metadata |
true |
Menyebabkan alat
Jangan gunakan flag ini dengan flag |
Tidak |
--hive-metastore-version |
2.3.6 |
Saat dijalankan, alat |
Tidak |
--host |
localhost | Nama host atau alamat IP server database. | Tidak |
--port |
9083 | Port server database. | Tidak |
--hive-kerberos-url |
Entity utama dan host Kerberos yang akan digunakan untuk autentikasi. | Diperlukan untuk cluster yang telah mengaktifkan autentikasi Kerberos. | |
-Dhiveql.rpc.protection |
Tingkat konfigurasi perlindungan RPC. Ini menentukan Kualitas Perlindungan (QOP) dari koneksi Simple Authentication dan Security Layer (SASL) antara cluster dan alat Harus sama dengan nilai parameter
Contoh (Bash): Contoh (Windows PowerShell): |
Diperlukan untuk cluster yang telah mengaktifkan autentikasi Kerberos. |
Contoh
Contoh berikut menunjukkan cara mengekstrak metadata untuk database Hive 2.3.7 pada host tertentu, tanpa autentikasi dan menggunakan port alternatif untuk koneksi:
dwh-migration-dumper \
--connector hiveql \
--hive-metastore-version 2.3.7 \
--host host \
--port port
Untuk menggunakan autentikasi Kerberos, login sebagai pengguna yang memiliki izin baca ke metastore Hive dan buat tiket Kerberos. Selanjutnya, buat file zip metadata dengan perintah berikut:
JAVA_OPTS="-Djavax.security.auth.useSubjectCredsOnly=false" \
dwh-migration-dumper \
--connector hiveql \
--host host \
--port port \
--hive-kerberos-url principal/kerberos_host
Azure Synapse atau Microsoft SQL Server
Untuk mengizinkan alat dwh-migration-dumper
terhubung ke Azure Synapse atau Microsoft SQL Server, download driver JDBC-nya dari halaman download Microsoft.
Tabel berikut menjelaskan flag yang biasa digunakan untuk mengekstrak metadata Azure Synapse atau Microsoft SQL Server menggunakan alat ekstraksi. Untuk informasi tentang semua flag yang didukung, lihat flag global.
Nama | Nilai default | Deskripsi | Wajib |
---|---|---|---|
--connector |
Nama konektor yang akan digunakan, dalam hal ini sqlserver. | Ya | |
--database |
Nama database yang akan dihubungkan. |
Ya | |
--driver |
Jalur absolut atau relatif ke file JAR driver yang akan digunakan untuk koneksi ini. Anda dapat menentukan beberapa file JAR driver, dengan memisahkannya dengan koma. | Ya | |
--host |
localhost | Nama host atau alamat IP server database. | Tidak |
--password |
Kata sandi yang akan digunakan untuk koneksi database. | Ya | |
--port |
1433 | Port server database. | Tidak |
--user |
Nama pengguna yang akan digunakan untuk koneksi database. | Ya |
Contoh
Contoh berikut menunjukkan cara mengekstrak metadata dari database Azure Synapse pada host tertentu:
dwh-migration-dumper \
--connector sqlserver \
--database database \
--driver path/mssql-jdbc.jar \
--host server_name.sql.azuresynapse.net \
--password password \
--user user
Netezza
Untuk mengizinkan alat dwh-migration-dumper
terhubung ke IBM Netezza, Anda harus mendapatkan driver JDBC-nya. Anda biasanya bisa mendapatkan driver dari direktori /nz/kit/sbin
di host peralatan IBM Netezza. Jika Anda tidak dapat menemukannya, minta bantuan administrator sistem Anda, atau baca Menginstal dan Mengonfigurasi JDBC dalam dokumentasi IBM Netezza.
Tabel berikut menjelaskan flag yang umum digunakan untuk mengekstrak metadata IBM Netezza menggunakan alat ekstraksi. Untuk informasi tentang semua flag yang didukung, lihat flag global.
Nama | Nilai default | Deskripsi | Wajib |
---|---|---|---|
--connector |
Nama konektor yang akan digunakan, dalam hal ini netezza. | Ya | |
--database |
Daftar database yang akan diekstrak, dipisahkan dengan koma. |
Ya | |
--driver |
Jalur absolut atau relatif ke file JAR driver yang akan digunakan untuk koneksi ini. Anda dapat menentukan beberapa file JAR driver, dengan memisahkannya dengan koma. | Ya | |
--host |
localhost | Nama host atau alamat IP server database. | Tidak |
--password |
Kata sandi yang akan digunakan untuk koneksi database. | Ya | |
--port |
5480 | Port server database. | Tidak |
--user |
Nama pengguna yang akan digunakan untuk koneksi database. | Ya |
Contoh
Contoh berikut menunjukkan cara mengekstrak metadata untuk dua database IBM Netezza pada host tertentu:
dwh-migration-dumper \
--connector netezza \
--database database1,database2 \
--driver path/nzjdbc.jar \
--host host \
--password password \
--user user
Oracle
Untuk mengizinkan alat dwh-migration-dumper
terhubung ke Oracle, download driver JDBC-nya dari halaman download Oracle.
Tabel berikut menjelaskan flag yang umum digunakan untuk mengekstrak metadata Oracle menggunakan alat ekstraksi. Untuk informasi tentang semua flag yang didukung, lihat flag global.
Nama | Nilai default | Deskripsi | Wajib |
---|---|---|---|
--connector |
Nama konektor yang akan digunakan, dalam hal ini Oracle. | Ya | |
--driver |
Jalur absolut atau relatif ke file JAR driver yang akan digunakan untuk koneksi ini. Anda dapat menentukan beberapa file JAR driver, dengan memisahkannya dengan koma. | Ya | |
--host |
localhost | Nama host atau alamat IP server database. | Tidak |
--oracle-service |
Nama layanan Oracle yang akan digunakan untuk koneksi. |
Tidak secara eksplisit, tetapi Anda harus menentukan flag ini atau flag --oracle-sid . |
|
--oracle-sid |
ID sistem Oracle (SID) yang akan digunakan untuk koneksi. |
Tidak secara eksplisit, tetapi Anda harus menentukan flag ini atau flag --oracle-service . |
|
--password |
Kata sandi yang akan digunakan untuk koneksi database. | Jika tidak ditentukan, alat ekstraksi akan menggunakan permintaan yang aman untuk memintanya. | |
--port |
1521 | Port server database. | Tidak |
--user |
Nama pengguna yang akan digunakan untuk koneksi database.
Pengguna yang Anda tentukan harus memiliki peran |
Ya |
Contoh
Contoh berikut menunjukkan cara mengekstrak metadata untuk database Oracle di host tertentu, menggunakan layanan Oracle untuk koneksi:
dwh-migration-dumper \
--connector oracle \
--driver path/ojdbc8.jar \
--host host \
--oracle-service service_name \
--password password \
--user user
Snowflake
Tabel berikut menjelaskan flag yang biasa digunakan untuk mengekstrak metadata Snowflake menggunakan alat dwh-migration-dumper
. Untuk informasi tentang semua flag yang didukung, lihat flag global.
Nama | Nilai default | Deskripsi | Wajib |
---|---|---|---|
--connector |
Nama konektor yang akan digunakan, dalam hal ini snowflake. | Ya | |
--database |
Nama database yang akan dihubungkan. Anda hanya dapat mengekstrak dari satu database dalam satu waktu dari Snowflake. |
Ya | |
--host |
localhost | Nama host atau alamat IP server database. | Tidak |
--password |
Kata sandi yang akan digunakan untuk koneksi database. | Jika tidak ditentukan, alat ekstraksi akan menggunakan permintaan yang aman untuk memintanya. | |
--role |
Peran Snowflake yang akan digunakan untuk otorisasi. Anda hanya perlu menetapkannya untuk penginstalan besar yang mengharuskan Anda mendapatkan metadata dari skema SNOWFLAKE.ACCOUNT_USAGE , bukan INFORMATION_SCHEMA . Untuk informasi selengkapnya, baca Menangani instance Snowflake berukuran besar.
|
Tidak | |
--user |
Nama pengguna yang akan digunakan untuk koneksi database. |
Ya | |
--warehouse |
Warehouse Snowflake yang akan digunakan untuk memproses kueri metadata. |
Ya |
Contoh
Contoh berikut menunjukkan cara mengekstrak metadata untuk database Snowflake yang biasanya berukuran besar pada host lokal:
dwh-migration-dumper \
--connector snowflake \
--database database \
--password password \
--user user \
--warehouse warehouse
Contoh berikut menunjukkan cara mengekstrak metadata untuk database Snowflake berukuran besar pada host tertentu:
dwh-migration-dumper \
--connector snowflake \
--database database \
--host "account.snowflakecomputing.com" \
--password password \
--role role \
--user user \
--warehouse warehouse
Menangani instance Snowflake berukuran besar
Alat dwh-migration-dumper
membaca metadata dari Snowflake INFORMATION_SCHEMA
. Namun, ada batasan jumlah data yang dapat Anda ambil dari INFORMATION_SCHEMA
. Jika menjalankan alat ekstraksi dan menerima error SnowflakeSQLException:
Information schema query returned too much data
, Anda harus melakukan langkah-langkah berikut agar dapat membaca metadata dari skema SNOWFLAKE.ACCOUNT_USAGE
:
- Buka opsi Shares di antarmuka web Snowflake.
Buat database dari bagian
SNOWFLAKE.ACCOUNT_USAGE
:-- CREATE DATABASE database FROM SHARE SNOWFLAKE.ACCOUNT_USAGE;
Membuat peran:
CREATE ROLE role;
Beri
IMPORTED
hak istimewa di database baru untuk peran tersebut:GRANT IMPORTED PRIVILEGES ON DATABASE database TO ROLE role;
Berikan peran kepada pengguna yang ingin Anda gunakan untuk menjalankan alat
dwh-migration-dumper
:GRANT ROLE role TO USER user;
Vertica
Untuk mengizinkan alat dwh-migration-dumper
terhubung ke Vertica, download driver JDBC-nya dari halaman download ini.
Tabel berikut menjelaskan flag yang biasa digunakan untuk mengekstrak metadata Vertika menggunakan alat ekstraksi. Untuk informasi tentang semua flag yang didukung, lihat flag global.
Nama | Nilai default | Deskripsi | Wajib |
---|---|---|---|
--connector |
Nama konektor yang akan digunakan, dalam hal ini vertica. | Ya | |
--database |
Nama database yang akan dihubungkan. |
Ya | |
--driver |
Jalur absolut atau relatif ke file JAR driver yang akan digunakan untuk koneksi ini. Anda dapat menentukan beberapa file JAR driver, dengan memisahkannya dengan koma. | Ya | |
--host |
localhost | Nama host atau alamat IP server database. | Tidak |
--password |
Kata sandi yang akan digunakan untuk koneksi database. | Ya | |
--port |
5433 | Port server database. | Tidak |
--user |
Nama pengguna yang akan digunakan untuk koneksi database. | Ya |
Contoh
Contoh berikut menunjukkan cara mengekstrak metadata dari database Vertica di host lokal:
dwh-migration-dumper \
--driver path/vertica-jdbc.jar \
--connector vertica \
--database database
--user user
--password password
Flag global
Tabel berikut menjelaskan flag yang dapat digunakan dengan salah satu platform sumber yang didukung.
Nama | Deskripsi |
---|---|
--connector |
Nama konektor untuk sistem sumber. |
--database |
Penggunaan bervariasi menurut sistem sumber. |
--driver |
Jalur absolut atau relatif ke file JAR driver yang akan digunakan saat terhubung ke sistem sumber. Anda dapat menentukan beberapa file JAR driver, yang memisahkannya dengan koma. |
--dry-run atau -n |
Tampilkan tindakan yang akan dilakukan fitur ekstraksi tanpa menjalankannya. |
--help |
Menampilkan bantuan command line. |
--host |
Nama host atau alamat IP server database yang akan dihubungkan. |
--jdbcDriverClass |
Secara opsional, mengganti nama class driver JDBC yang ditentukan vendor. Gunakan ini jika Anda memiliki klien JDBC kustom. |
--output |
Jalur file ZIP output. Misalnya dir1/dir2/teradata-metadata.zip . Jika Anda tidak menentukan jalur, file output akan dibuat di direktori kerja. Jika Anda menentukan jalur ke direktori, nama file zip default akan dibuat di direktori yang ditentukan. Jika tidak ada, direktori akan dibuat.
Untuk menggunakan Cloud Storage, gunakan format berikut: Untuk melakukan autentikasi menggunakan kredensial Google Cloud, lihat Mengautentikasi untuk menggunakan library klien. |
--password |
Kata sandi yang akan digunakan untuk koneksi database. |
--port |
Port server database. |
--save-response-file |
Menyimpan flag command line dalam file JSON agar mudah digunakan kembali. File ini diberi nama dumper-response-file.json dan dibuat di direktori kerja. Untuk menggunakan file respons, berikan jalur ke file tersebut yang diawali dengan @ saat Anda menjalankan alat ekstraksi, misalnya dwh-migration-dumper @path/to/dumper-response-file.json .
|
--schema |
Daftar skema yang akan diekstrak, dipisahkan dengan koma.
Oracle tidak membedakan antara skema dan pengguna database yang membuat skema, sehingga Anda dapat menggunakan nama skema atau nama pengguna dengan flag |
--thread-pool-size |
Menetapkan ukuran kumpulan thread, yang memengaruhi ukuran kumpulan koneksi.
Ukuran default kumpulan thread adalah jumlah inti di server yang menjalankan alat Jika alat ekstraksi tampak lambat atau membutuhkan lebih banyak resource, Anda dapat meningkatkan jumlah thread yang digunakan. Jika terdapat indikasi bahwa proses lain di server memerlukan lebih banyak bandwidth, Anda dapat menurunkan jumlah thread yang digunakan. |
--url |
URL yang akan digunakan untuk koneksi database, bukan URI yang dihasilkan oleh driver JDBC. URI yang dihasilkan seharusnya sudah memadai dalam sebagian besar kasus. Hanya ganti URI yang dihasilkan saat Anda perlu menggunakan setelan koneksi JDBC yang khusus untuk platform sumber dan belum ditetapkan oleh salah satu flag yang tercantum dalam tabel ini. |
--user |
Nama pengguna yang akan digunakan untuk koneksi database. |
--version |
Menampilkan versi produk. |
Pemecahan masalah
Bagian ini menjelaskan beberapa masalah umum dan teknik pemecahan masalah untuk
alat dwh-migration-dumper
.
Error kehabisan memori
Error java.lang.OutOfMemoryError
dalam output terminal alat dwh-migration-dumper
sering kali berkaitan dengan memori yang tidak cukup untuk memproses data yang diambil.
Untuk mengatasi masalah ini, tingkatkan memori yang tersedia atau kurangi jumlah
thread pemrosesan.
Anda dapat meningkatkan memori maksimum dengan mengekspor variabel lingkungan JAVA_OPTS
:
Linux
export JAVA_OPTS="-Xmx4G"
Windows
set JAVA_OPTS="-Xmx4G"
Anda dapat mengurangi jumlah thread pemrosesan (default-nya adalah 32) dengan menyertakan flag --thread-pool-size
. Opsi ini hanya didukung untuk konektor hiveql
dan
redshift*
.
dwh-migration-dumper --thread-pool-size=1
Menangani error WARN...Task failed
Terkadang Anda mungkin melihat error WARN [main]
o.c.a.d.MetadataDumper [MetadataDumper.java:107] Task failed: …
dalam output terminal alat dwh-migration-dumper
. Alat ekstraksi mengirimkan beberapa kueri ke sistem sumber, dan output setiap kueri ditulis ke filenya sendiri. Jika masalah ini muncul, berarti salah satu kueri ini gagal. Namun, kegagalan satu kueri tidak mencegah eksekusi kueri lainnya. Jika Anda melihat lebih dari beberapa error WARN
, tinjau detail masalah dan lihat apakah ada hal yang perlu diperbaiki agar kueri dapat berjalan dengan baik.
Misalnya, jika pengguna database yang Anda tentukan saat menjalankan alat ekstraksi tidak memiliki izin untuk membaca semua metadata, coba lagi dengan pengguna yang memiliki izin yang tepat.
File ZIP rusak
Untuk memvalidasi file zip alat dwh-migration-dumper
, download
file SHA256SUMS.txt
dan jalankan perintah berikut:
sha256sum --check SHA256SUMS.txt
Hasil OK
mengonfirmasi verifikasi checksum yang berhasil. Pesan lainnya
menunjukkan error verifikasi:
FAILED: computed checksum did NOT match
: file ZIP rusak dan harus didownload lagi.FAILED: listed file could not be read
: versi file ZIP tidak dapat ditemukan. Pastikan file checksum dan zip didownload dari versi rilis yang sama dan ditempatkan di direktori yang sama.
Ekstraksi log kueri teradata berjalan lambat
Untuk meningkatkan performa tabel gabungan yang ditentukan oleh flag -Dteradata-logs.query-logs-table
dan -Dteradata-logs.sql-logs-table
, Anda dapat menyertakan kolom tambahan jenis DATE
dalam kondisi JOIN
. Kolom ini harus ditentukan dalam
kedua tabel dan harus menjadi bagian dari Indeks Utama yang Dipartisi. Untuk menyertakan
kolom ini, gunakan flag -Dteradata-logs.log-date-column
.
Contoh:
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"
Batas ukuran baris teradata terlampaui
Teradata 15 memiliki batas ukuran baris sebesar 64 kB. Jika batas terlampaui, dumper
akan gagal dengan pesan berikut:
none
[Error 9804] [SQLState HY000] Response Row size or Constant Row size overflow
Untuk mengatasi error ini, perpanjang batas baris menjadi 1 MB atau bagi baris menjadi beberapa baris:
- Instal dan aktifkan fitur Perm dan Response Rows sebesar 1 MB serta software TTU saat ini. Untuk informasi selengkapnya, lihat Pesan Database Teradata 9804
- Bagi teks kueri panjang menjadi beberapa baris menggunakan tanda
-Dteradata.metadata.max-text-length
dan-Dteradata-logs.max-sql-length
.
Perintah berikut menunjukkan penggunaan
flag -Dteradata.metadata.max-text-length
untuk membagi teks kueri yang panjang menjadi
beberapa baris dengan masing-masing maksimal 10.000 karakter:
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"
Perintah berikut menunjukkan penggunaan
flag -Dteradata-logs.max-sql-length
untuk membagi teks kueri yang panjang menjadi
beberapa baris dengan masing-masing maksimal 10.000 karakter:
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"
Langkah selanjutnya
Setelah Anda menjalankan alat dwh-migration-dumper
, upload output ke Cloud Storage beserta file sumber untuk diterjemahkan.