Memigrasikan skema dan data dari Teradata
Dengan menggabungkan BigQuery Data Transfer Service dan agen migrasi khusus, Anda dapat menyalin data dari instance data warehouse lokal Teradata ke BigQuery. Dokumen ini menjelaskan proses langkah demi langkah untuk memigrasikan data dari Teradata menggunakan BigQuery Data Transfer Service.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API BigQuery, BigQuery Data Transfer Service, Cloud Storage, and Pub/Sub.
-
Buat akun layanan:
-
Di konsol Google Cloud, buka halaman Buat akun layanan.
Buka Create service account - Pilih project Anda.
-
Di kolom Nama akun layanan, masukkan nama. Konsol Google Cloud akan mengisi kolom ID akun layanan berdasarkan nama ini.
Di kolom Deskripsi akun layanan, masukkan sebuah deskripsi. Sebagai contoh,
Service account for quickstart
. - Klik Buat dan lanjutkan.
-
Berikan peran berikut ke akun layanan: roles/bigquery.user, roles/storage.objectAdmin, roles/iam.serviceAccountTokenCreator.
Untuk memberikan peran, temukan daftar Pilih peran, lalu pilih peran.
Untuk memberikan peran tambahan, klik
Tambahkan peran lain, lalu tambahkan setiap peran tambahan. - Klik Lanjutkan.
-
Klik Selesai untuk menyelesaikan pembuatan akun layanan.
Jangan tutup jendela browser Anda. Anda akan menggunakannya pada langkah berikutnya.
-
-
Membuat kunci akun layanan:
- Di konsol Google Cloud, klik alamat email untuk akun layanan yang telah dibuat.
- Klik Kunci.
- Klik Tambahkan kunci, lalu klik Buat kunci baru.
- Klik Create. File kunci JSON akan didownload ke komputer Anda.
- Klik Close.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API BigQuery, BigQuery Data Transfer Service, Cloud Storage, and Pub/Sub.
-
Buat akun layanan:
-
Di konsol Google Cloud, buka halaman Buat akun layanan.
Buka Create service account - Pilih project Anda.
-
Di kolom Nama akun layanan, masukkan nama. Konsol Google Cloud akan mengisi kolom ID akun layanan berdasarkan nama ini.
Di kolom Deskripsi akun layanan, masukkan sebuah deskripsi. Sebagai contoh,
Service account for quickstart
. - Klik Buat dan lanjutkan.
-
Berikan peran berikut ke akun layanan: roles/bigquery.user, roles/storage.objectAdmin, roles/iam.serviceAccountTokenCreator.
Untuk memberikan peran, temukan daftar Pilih peran, lalu pilih peran.
Untuk memberikan peran tambahan, klik
Tambahkan peran lain, lalu tambahkan setiap peran tambahan. - Klik Lanjutkan.
-
Klik Selesai untuk menyelesaikan pembuatan akun layanan.
Jangan tutup jendela browser Anda. Anda akan menggunakannya pada langkah berikutnya.
-
-
Membuat kunci akun layanan:
- Di konsol Google Cloud, klik alamat email untuk akun layanan yang telah dibuat.
- Klik Kunci.
- Klik Tambahkan kunci, lalu klik Buat kunci baru.
- Klik Create. File kunci JSON akan didownload ke komputer Anda.
- Klik Close.
Kunci yang didownload memiliki format berikut:
{ "type": "service_account", "project_id": "PROJECT_ID", "private_key_id": "KEY_ID", "private_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY\n-----END PRIVATE KEY-----\n", "client_email": "SERVICE_ACCOUNT_EMAIL", "client_id": "CLIENT_ID", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/SERVICE_ACCOUNT_EMAIL" }
Pastikan Anda menyimpan kunci dengan aman karena dapat digunakan untuk melakukan autentikasi sebagai akun layanan Anda. Anda dapat memindahkan dan mengganti nama file ini jika perlu.
Menetapkan izin yang diperlukan
Pastikan akun utama yang digunakan untuk melakukan transfer memiliki peran berikut dalam project yang berisi tugas transfer:
- Logs Viewer (
roles/logging.viewer
) - Admin Penyimpanan (
roles/storage.admin
), atau peran khusus yang memberikan izin berikut:storage.objects.create
storage.objects.get
storage.objects.list
- Admin BigQuery (
roles/bigquery.admin
), atau peran khusus yang memberikan izin berikut:bigquery.datasets.create
bigquery.jobs.create
bigquery.jobs.get
bigquery.jobs.listAll
bigquery.transfers.get
bigquery.transfers.update
Membuat set data
Buat set data BigQuery untuk menyimpan data Anda. Anda tidak perlu membuat tabel apa pun.
Membuat bucket Cloud Storage
Buat bucket Cloud Storage untuk staging data selama tugas transfer.
Menyiapkan lingkungan lokal
Selesaikan tugas di bagian ini agar dapat menyiapkan lingkungan lokal Anda untuk tugas transfer.
Persyaratan mesin lokal
- Agen migrasi menggunakan koneksi JDBC dengan instance Teradata dan Google Cloud API. Pastikan akses jaringan tidak diblokir oleh firewall.
- Pastikan Java Runtime Environment 8 atau yang lebih baru telah diinstal.
- Pastikan Anda memiliki ruang penyimpanan yang cukup untuk metode ekstraksi yang telah dipilih, seperti yang dijelaskan dalam Metode ekstraksi.
- Jika Anda telah memutuskan untuk menggunakan ekstraksi Teradata Parallel Transporter (TPT),
pastikan utilitas
tbuild
telah diinstal. Untuk mengetahui informasi selengkapnya tentang cara memilih metode ekstraksi, lihat Metode ekstraksi.
Detail koneksi Teradata
Pastikan Anda memiliki nama pengguna dan sandi pengguna Teradata dengan akses baca ke tabel sistem dan tabel yang sedang dimigrasikan.
Pastikan Anda mengetahui nama host dan nomor port untuk terhubung ke instance Teradata.
Mendownload driver JDBC
Download file driver JDBC terajdbc4.jar
dari Teradata
ke komputer yang dapat terhubung ke data warehouse.
Tetapkan variabel GOOGLE_APPLICATION_CREDENTIALS
Tetapkan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS
ke kunci akun layanan yang Anda download di bagian
Sebelum memulai.
Memperbarui aturan traffic keluar Kontrol Layanan VPC
Tambahkan project Google Cloud terkelola BigQuery Data Transfer Service (nomor project: 990232121269) ke aturan traffic keluar di perimeter Kontrol Layanan VPC.
Saluran komunikasi antara agen yang berjalan di infrastruktur lokal dan BigQuery Data Transfer Service adalah dengan memublikasikan pesan Pub/Sub ke setiap topik transfer. BigQuery Data Transfer Service harus mengirimkan perintah ke agen untuk mengekstrak data, dan agen harus memublikasikan pesan kembali ke BigQuery Data Transfer Service untuk memperbarui status dan menampilkan respons ekstraksi data.
Membuat file skema kustom
Untuk menggunakan file skema kustom, bukan deteksi skema otomatis, buat file secara manual, atau minta agen migrasi membuatkannya untuk Anda saat Anda melakukan inisialisasi agen.
Jika Anda membuat file skema secara manual dan bermaksud menggunakan Konsol Google Cloud untuk membuat transfer, upload file skema tersebut ke bucket Cloud Storage dalam project yang sama dengan yang Anda rencanakan untuk transfer singkat ini.
Mendownload agen migrasi
Download agen migrasi ke komputer yang dapat terhubung ke data warehouse. Pindahkan file JAR agen migrasi ke direktori yang sama dengan file JAR driver JDBC Teradata.
Menyiapkan transfer
Buat transfer dengan BigQuery Data Transfer Service.
Jika Anda ingin file skema kustom dibuat secara otomatis, gunakan agen migrasi untuk menyiapkan transfer.
Anda tidak dapat membuat transfer sesuai permintaan menggunakan alat command line bq. Sebagai gantinya, Anda harus menggunakan Konsol Google Cloud atau BigQuery Data Transfer Service API.
Jika Anda membuat transfer berulang, sebaiknya tentukan file skema agar data dari transfer berikutnya dapat dipartisi dengan benar saat dimuat ke BigQuery. Tanpa file skema, BigQuery Data Transfer Service akan menyimpulkan skema tabel dari data sumber yang ditransfer, dan semua informasi tentang partisi, pengelompokan, kunci utama, dan pelacakan perubahan akan hilang. Selain itu, transfer berikutnya melewati tabel yang telah dimigrasikan sebelumnya setelah transfer awal. Untuk mengetahui informasi selengkapnya tentang cara membuat file skema, lihat File skema kustom.
Konsol
Di konsol Google Cloud, buka halaman BigQuery.
Klik Data transfers.
Klik Buat Transfer.
Di bagian Jenis sumber, lakukan hal berikut:
- Pilih Migrasi: Teradata.
- Untuk Nama konfigurasi transfer, masukkan nama tampilan untuk transfer, seperti
My Migration
. Nama tampilan dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer dengan mudah jika perlu mengubahnya nanti. - Opsional: Untuk Opsi jadwal, Anda dapat membiarkan nilai default Harian (berdasarkan waktu pembuatan) atau memilih waktu lain jika menginginkan transfer inkremental berulang. Jika tidak, pilih Sesuai permintaan untuk transfer satu kali.
Untuk Setelan tujuan, pilih set data yang sesuai.
Di bagian Detail sumber data, lanjutkan dengan detail spesifik untuk transfer Teradata Anda.
- Untuk Jenis database, pilih Teradata.
- Untuk bucket Cloud Storage, cari nama bucket
Cloud Storage untuk staging data migrasi. Jangan ketik awalan
gs://
, tetapi cukup masukkan nama bucket. - Untuk Nama database, masukkan nama database sumber di Teradata.
Untuk Pola nama tabel, masukkan pola untuk mencocokkan nama tabel di database sumber. Anda dapat menggunakan ekspresi reguler untuk menentukan pola. Contoh:
sales|expenses
cocok dengan tabel yang bernamasales
danexpenses
..*
cocok dengan semua tabel.
Untuk Email akun layanan, masukkan alamat email yang terkait dengan kredensial akun layanan yang digunakan oleh agen migrasi.
Opsional: Jika Anda menggunakan file skema kustom, masukkan jalur dan nama file dari file tersebut di kolom Jalur file skema. Jika Anda tidak memberikan file skema kustom, BigQuery akan otomatis mendeteksi skema tabel menggunakan data sumber yang ditransfer. Anda dapat membuat file skema sendiri, seperti yang ditunjukkan dalam gambar berikut, atau Anda dapat menggunakan agen migrasi untuk membantu Anda membuat file skema. Untuk informasi tentang cara membuat file skema, lihat melakukan inisialisasi agen migrasi.
Di menu Service Account, pilih service account dari akun layanan yang terkait dengan project Google Cloud Anda. Anda dapat mengaitkan akun layanan dengan transfer Anda, bukan menggunakan kredensial pengguna. Untuk mengetahui informasi selengkapnya tentang cara menggunakan akun layanan dengan transfer data, lihat Menggunakan akun layanan.
- Jika Anda login dengan identitas gabungan, akun layanan diperlukan untuk membuat transfer. Jika Anda login dengan Akun Google, akun layanan untuk transfer bersifat opsional.
- Akun layanan harus memiliki izin yang diperlukan.
Opsional: Di bagian Opsi notifikasi, lakukan hal berikut:
- Klik tombol Notifikasi email jika Anda ingin administrator transfer menerima notifikasi email saat transfer gagal.
- Klik tombol Notifikasi Pub/Sub agar dapat mengonfigurasi notifikasi peluncuran Pub/Sub untuk transfer Anda. Untuk Pilih topik Pub/Sub, pilih nama topik atau klik Buat topik.
Klik Save.
Di halaman Detail transfer, klik tab Konfigurasi.
Catat nama resource untuk transfer ini karena Anda memerlukannya untuk menjalankan agen migrasi.
bq
Saat Anda membuat transfer Cloud Storage menggunakan alat bq, konfigurasi transfer ditetapkan agar berulang setiap 24 jam. Untuk transfer sesuai permintaan, gunakan Konsol Google Cloud atau BigQuery Data Transfer Service API.
Anda tidak dapat mengonfigurasi notifikasi menggunakan alat bq.
Masukkan perintah
bq mk
dan berikan flag pelaksanaan transfer
--transfer_config
. Flag berikut juga diperlukan:
--data_source
--display_name
--target_dataset
--params
bq mk \ --transfer_config \ --project_id=project ID \ --target_dataset=dataset \ --display_name=name \ --service_account_name=service_account \ --params='parameters' \ --data_source=data source
Dengan keterangan:
- project ID adalah project ID Anda. Jika
--project_id
tidak diberikan untuk menentukan project tertentu, project default akan digunakan. - dataset adalah set data yang ingin Anda targetkan (
--target_dataset
) untuk konfigurasi transfer. - name adalah nama tampilan (
--display_name
) untuk konfigurasi transfer. Nama tampilan transfer dapat berupa nilai apa pun yang memungkinkan Anda mengidentifikasi transfer jika Anda perlu mengubahnya nanti. - service_account adalah nama akun layanan yang digunakan untuk mengautentikasi transfer Anda. Akun layanan harus
dimiliki oleh
project_id
yang sama dengan yang digunakan untuk membuat transfer dan harus memiliki semua izin yang diperlukan yang tercantum. - parameters berisi parameter (
--params
) untuk konfigurasi transfer yang dibuat dalam format JSON. Misalnya:--params='{"param":"param_value"}'
- Untuk migrasi Teradata, gunakan parameter berikut:
bucket
adalah bucket Cloud Storage yang akan berfungsi sebagai area staging selama migrasi.database_type
merupakan Teradata.agent_service_account
adalah alamat email yang terkait dengan akun layanan yang Anda buat.database_name
adalah nama database sumber di Teradata.table_name_patterns
adalah pola untuk mencocokkan nama tabel di database sumber. Anda dapat menggunakan ekspresi reguler untuk menentukan pola. Pola ini harus mengikuti sintaksis ekspresi reguler Java. Misalnya:sales|expenses
cocok dengan tabel yang bernamasales
danexpenses
..*
cocok dengan semua tabel.
- Untuk migrasi Teradata, gunakan parameter berikut:
- data_source adalah sumber data (
--data_source
):on_premises
.
Misalnya, perintah berikut akan membuat transfer Teradata bernama
My Transfer
menggunakan bucket Cloud Storage mybucket
dan set data
target mydataset
. Transfer akan memigrasikan semua tabel dari mydatabase
data warehouse
Teradata dan file skema opsionalnya adalah myschemafile.json
.
bq mk \ --transfer_config \ --project_id=123456789876 \ --target_dataset=MyDataset \ --display_name='My Migration' \ --params='{"bucket": "mybucket", "database_type": "Teradata", "database_name":"mydatabase", "table_name_patterns": ".*", "agent_service_account":"myemail@mydomain.com", "schema_file_path": "gs://mybucket/myschemafile.json"}' \ --data_source=on_premises
Setelah menjalankan perintah, Anda akan menerima pesan seperti berikut:
[URL omitted] Please copy and paste the above URL into your web browser and
follow the instructions to retrieve an authentication code.
Ikuti petunjuknya, lalu tempel kode autentikasi di command line.
API
Gunakan metode projects.locations.transferConfigs.create
dan berikan instance resource TransferConfig
.
Java
Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di Panduan memulai BigQuery menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi BigQuery Java API.
Untuk melakukan autentikasi ke BigQuery, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk library klien.
Agen migrasi
Jika ingin, Anda dapat menyiapkan transfer langsung dari agen migrasi. Untuk mengetahui informasi selengkapnya, lihat Melakukan inisialisasi agen migrasi.
Melakukan inisialisasi agen migrasi
Anda harus melakukan inisialisasi agen migrasi untuk transfer baru. Inisialisasi hanya diperlukan sekali untuk transfer, baik berulang maupun tidak. Inisialisasi hanya mengonfigurasi agen migrasi, dan tidak memulai transfer.
Jika akan menggunakan agen migrasi untuk membuat file skema kustom,
pastikan Anda memiliki direktori yang dapat ditulis dalam direktori kerja dengan nama yang sama seperti project yang ingin digunakan untuk
transfer ini. Di sini agen migrasi akan membuat file skema.
Misalnya, jika Anda bekerja di /home
dan menyiapkan
transfer di project myProject
, buat direktori /home/myProject
dan pastikan direktori tersebut dapat ditulis oleh pengguna.
Buka sesi baru. Pada command line, berikan perintah inisialisasi, yang mengikuti bentuk ini:
java -cp \ OS-specific-separated-paths-to-jars (JDBC and agent) \ com.google.cloud.bigquery.dms.Agent \ --initialize
Contoh berikut menunjukkan perintah inisialisasi saat file JAR driver JDBC dan agen migrasi berada di direktori
migration
lokal:Unix, Linux, Mac OS
java -cp \ /usr/local/migration/terajdbc4.jar:/usr/local/migration/mirroring-agent.jar \ com.google.cloud.bigquery.dms.Agent \ --initialize
Windows
Salin semua file ke dalam folder
C:\migration
(atau sesuaikan jalur dalam perintah), lalu jalankan:java -cp C:\migration\terajdbc4.jar;C:\migration\mirroring-agent.jar com.google.cloud.bigquery.dms.Agent --initialize
Jika diminta, konfigurasi opsi berikut:
- Pilih apakah akan menyimpan template Teradata Parallel Transporter (TPT) ke disk, atau tidak. Jika berencana menggunakan metode ekstraksi TPT, Anda dapat mengubah template tersimpan dengan parameter yang sesuai dengan instance Teradata.
- Ketik jalur ke direktori lokal yang dapat digunakan oleh tugas transfer untuk ekstraksi file. Pastikan Anda memiliki ruang penyimpanan minimum yang direkomendasikan seperti yang dijelaskan dalam Metode ekstraksi.
- Ketik nama host database.
- Ketik port database.
- Pilih apakah akan menggunakan Teradata Parallel Transporter (TPT) sebagai metode ekstraksi, atau tidak.
- Opsional: Ketik jalur ke file kredensial database.
Pilih apakah akan menentukan nama konfigurasi BigQuery Data Transfer Service.
Jika Anda melakukan inisialisasi agen migrasi untuk transfer yang telah Anda siapkan, lakukan langkah berikut:
- Ketik Nama resource transfer. Anda dapat menemukannya di tab Konfigurasi di halaman Detail transfer untuk transfer.
- Saat diminta, ketik jalur dan nama file untuk file konfigurasi agen migrasi yang akan dibuat. Lihat file ini saat menjalankan agen migrasi untuk memulai transfer.
- Lewati langkah-langkah yang tersisa.
Jika Anda menggunakan agen migrasi untuk menyiapkan transfer, tekan Enter untuk melanjutkan ke perintah berikutnya.
Ketik ID Project Google Cloud.
Ketik nama database sumber di Teradata.
Ketik pola untuk mencocokkan nama tabel di database sumber. Anda dapat menggunakan ekspresi reguler untuk menentukan pola. Contoh:
sales|expenses
cocok dengan tabel yang bernamasales
danexpenses
..*
cocok dengan semua tabel.
Opsional: Ketik jalur ke file skema JSON lokal. Tindakan ini sangat direkomendasikan untuk transfer berulang.
Jika Anda tidak menggunakan file skema, atau jika Anda ingin agen migrasi membuatnya untuk Anda, tekan Enter untuk melanjutkan ke prompt berikutnya.
Pilih apakah akan membuat file skema baru atau tidak.
Jika Anda ingin membuat file skema:
- Ketik
yes
. - Ketik nama pengguna dari pengguna teradata yang memiliki akses baca ke tabel sistem dan tabel yang ingin Anda migrasikan.
Ketik sandi untuk pengguna tersebut.
Agen migrasi membuat file skema dan meng-output lokasinya.
Ubah file skema untuk menandai partisi, pengelompokan, kunci utama, dan kolom pelacakan perubahan, serta verifikasi bahwa Anda ingin menggunakan skema ini untuk konfigurasi transfer. Lihat File skema kustom untuk mendapatkan tip.
Tekan
Enter
untuk melanjutkan ke prompt berikutnya.
Jika Anda tidak ingin membuat file skema, ketik
no
.- Ketik
Ketik nama bucket Cloud Storage target untuk data migrasi staging sebelum memuatnya ke BigQuery. Jika Anda meminta agen migrasi membuat file skema kustom, file tersebut juga akan diupload ke bucket ini.
Ketik nama set data tujuan di BigQuery.
Ketik nama tampilan untuk konfigurasi transfer.
Ketik jalur dan nama file untuk file konfigurasi agen migrasi yang akan dibuat.
Setelah memasukkan semua parameter yang diminta, agen migrasi akan membuat file konfigurasi dan meng-outputnya ke jalur lokal yang Anda tentukan. Lihat bagian berikutnya untuk mempelajari file konfigurasi lebih lanjut.
File konfigurasi untuk agen migrasi
File konfigurasi yang dibuat pada langkah inisialisasi terlihat mirip dengan contoh ini:
{
"agent-id": "81f452cd-c931-426c-a0de-c62f726f6a6f",
"transfer-configuration": {
"project-id": "123456789876",
"location": "us",
"id": "61d7ab69-0000-2f6c-9b6c-14c14ef21038"
},
"source-type": "teradata",
"console-log": false,
"silent": false,
"teradata-config": {
"connection": {
"host": "localhost"
},
"local-processing-space": "extracted",
"database-credentials-file-path": "",
"max-local-storage": "50GB",
"gcs-upload-chunk-size": "32MB",
"use-tpt": true,
"transfer-views": false,
"max-sessions": 0,
"spool-mode": "NoSpool",
"max-parallel-upload": 4,
"max-parallel-extract-threads": 1,
"session-charset": "UTF8",
"max-unload-file-size": "2GB"
}
}
Opsi transfer tugas di file konfigurasi agen migrasi
transfer-configuration
: Informasi tentang konfigurasi transfer ini di BigQuery.teradata-config
: Informasi khusus untuk ekstraksi Teradata ini:connection
: Informasi nama host dan portlocal-processing-space
: Folder ekstraksi tempat agen akan mengekstrak data tabel, sebelum menguploadnya ke Cloud Storage.database-credentials-file-path
: (Opsional) Jalur ke file yang berisi kredensial untuk terhubung ke database Teradata secara otomatis. File harus berisi dua baris untuk kredensial. Anda dapat menggunakan nama pengguna/sandi, seperti yang ditunjukkan pada contoh berikut: Anda juga dapat menggunakan secret dari SecretManager:username=abc password=123
Saat menggunakan file kredensial, berhati-hatilah ketika mengontrol akses ke folder tempat Anda menyimpannya di sistem file lokal karena file tersebut tidak akan dienkripsi. Jika tidak ada jalur yang diberikan, Anda akan diminta untuk memasukkan nama pengguna dan sandi saat memulai agen.username=abc secret_resource_id=projects/my-project/secrets/my-secret-name/versions/1
max-local-storage
: Jumlah maksimum penyimpanan lokal yang akan digunakan untuk ekstraksi di direktori staging yang ditentukan. Nilai defaultnya adalah50GB
. Format yang didukung adalah:numberKB|MB|GB|TB
.Dalam semua mode ekstraksi, file akan dihapus dari direktori staging lokal Anda setelah diupload ke Cloud Storage.
use-tpt
: Mengarahkan agen migrasi untuk menggunakan Teradata Parallel Transporter (TPT) sebagai metode ekstraksi.Untuk setiap tabel, agen migrasi akan membuat skrip TPT, memulai proses
tbuild
, dan menunggu hingga selesai. Setelah prosestbuild
selesai, agen akan mencantumkan dan mengupload file yang diekstrak ke Cloud Storage, lalu menghapus skrip TPT. Untuk mengetahui informasi selengkapnya, lihat Metode ekstraksi.transfer-views
: Mengarahkan agen migrasi agar juga mentransfer data dari tampilan. Gunakan ini hanya jika Anda memerlukan penyesuaian data selama migrasi. Dalam kasus lainnya, migrasikan tampilan ke Tampilan BigQuery. Opsi ini memiliki prasyarat berikut:- Anda hanya dapat menggunakan opsi ini dengan Teradata versi 16.10 dan yang lebih baru.
- Tampilan harus memiliki kolom "partisi" bilangan bulat yang ditentukan dan mengarah ke ID partisi untuk baris yang ditentukan dalam tabel dasar.
max-sessions
: Menentukan jumlah sesi maksimum yang digunakan oleh tugas ekspor (FastExport atau TPT). Jika ditetapkan ke 0, database Teradata akan menentukan jumlah sesi maksimum untuk setiap tugas ekspor.gcs-upload-chunk-size
: File besar diupload ke Cloud Storage dalam bentuk potongan. Parameter ini besertamax-parallel-upload
digunakan untuk mengontrol jumlah data yang diupload ke Cloud Storage secara bersamaan. Misalnya, jikagcs-upload-chunk-size
adalah 64 MB danmax-parallel-upload
adalah 10 MB, maka agen migrasi secara teori dapat mengupload 640 MB (64 MB * 10) data secara sama. Jika potongan gagal diupload, seluruh potongan harus dicoba lagi. Ukuran potongan harus kecil.max-parallel-upload
: Nilai ini menentukan jumlah maksimum thread yang digunakan oleh agen migrasi untuk mengupload file ke Cloud Storage. Jika tidak ditentukan, setelan defaultnya adalah jumlah prosesor yang tersedia untuk mesin virtual Java. Aturan praktisnya adalah memilih nilai berdasarkan jumlah inti yang Anda miliki di mesin yang menjalankan agen. Jadi, jika Anda memiliki intin
, thread optimal harus berjumlahn
. Jika intinya bersifat hyper-thread, thread optimal harus berjumlah(2 * n)
. Ada juga setelan lain seperti bandwidth jaringan yang harus Anda pertimbangkan saat menyesuaikanmax-parallel-upload
. Menyesuaikan parameter ini dapat meningkatkan performa upload ke Cloud Storage.spool-mode
: Pada umumnya, mode NoSpool adalah opsi terbaik.NoSpool
adalah nilai default dalam konfigurasi agen. Anda dapat mengubah parameter ini jika salah satu kekurangan NoSpool berlaku untuk kasus Anda.max-unload-file-size
: Menentukan ukuran maksimum file yang diekstrak. Parameter ini tidak diterapkan untuk ekstraksi TPT.max-parallel-extract-threads
: Konfigurasi ini hanya digunakan dalam mode FastExport. Fungsi ini menentukan jumlah thread paralel yang digunakan untuk mengekstrak data dari Teradata. Menyesuaikan parameter ini dapat meningkatkan performa ekstraksi.tpt-template-path
: Gunakan konfigurasi ini untuk memberikan skrip ekstraksi TPT kustom sebagai input. Anda dapat menggunakan parameter ini untuk menerapkan transformasi ke data migrasi.schema-mapping-rule-path
: (Opsional) Jalur ke file konfigurasi yang berisi pemetaan skema untuk mengganti aturan pemetaan default. Beberapa jenis pemetaan hanya berfungsi dengan mode Teradata Parallel Transporter (TPT).Contoh: Pemetaan dari jenis Teradata
TIMESTAMP
ke jenis BigQueryDATETIME
:{ "rules": [ { "database": { "name": "database.*", "tables": [ { "name": "table.*" } ] }, "match": { "type": "COLUMN_TYPE", "value": "TIMESTAMP" }, "action": { "type": "MAPPING", "value": "DATETIME" } } ] }
Atribut:
database
: (Opsional)name
adalah ekspresi reguler yang akan disertakan dalam database. Semua {i>database<i} disertakan secara {i>default<i}.tables
: (Opsional) berisi array tabel.name
adalah ekspresi reguler yang akan disertakan dalam tabel. Semua tabel disertakan secara {i>default<i}.match
: (Wajib)type
nilai yang didukung:COLUMN_TYPE
.value
nilai yang didukung:TIMESTAMP
,DATETIME
.
action
: (Wajib)type
nilai yang didukung:MAPPING
.value
nilai yang didukung:TIMESTAMP
,DATETIME
.
compress-output
: (Opsional) menentukan perlu atau tidaknya data dikompresi sebelum disimpan di Cloud Storage. Nilai ini hanya diterapkan dalam mode tpt. Secara default, nilainya adalahfalse
.
Menjalankan agen migrasi
Setelah melakukan inisialisasi agen migrasi dan membuat file konfigurasi, gunakan langkah-langkah berikut untuk menjalankan agen dan memulai migrasi:
Jalankan agen dengan menentukan jalur ke driver JDBC, agen migrasi, dan file konfigurasi yang telah dibuat di langkah inisialisasi sebelumnya.
java -cp \ OS-specific-separated-paths-to-jars (JDBC and agent) \ com.google.cloud.bigquery.dms.Agent \ --configuration-file=path to configuration file
Unix, Linux, Mac OS
java -cp \ /usr/local/migration/Teradata/JDBC/terajdbc4.jar:mirroring-agent.jar \ com.google.cloud.bigquery.dms.Agent \ --configuration-file=config.json
Windows
Salin semua file ke dalam folder
C:\migration
(atau sesuaikan jalur dalam perintah), lalu jalankan:java -cp C:\migration\terajdbc4.jar;C:\migration\mirroring-agent.jar com.google.cloud.bigquery.dms.Agent --configuration-file=config.json
Jika Anda siap melanjutkan migrasi, tekan
Enter
dan agen akan melanjutkan jika classpath yang diberikan selama inisialisasi bernilai valid.Saat diminta, ketik nama pengguna dan sandi untuk koneksi database. Jika nama pengguna dan sandi bernilai valid, migrasi data akan dimulai.
Opsional Di perintah untuk memulai migrasi, Anda juga dapat menggunakan flag yang meneruskan file kredensial ke agen, bukan memasukkan nama pengguna dan sandi setiap waktu. Lihat parameter opsional
database-credentials-file-path
dalam file konfigurasi agen untuk informasi mengetahui selengkapnya. Saat menggunakan file kredensial, ambil langkah yang sesuai untuk mengontrol akses ke folder tempat Anda menyimpannya di sistem file lokal, karena file tersebut tidak akan dienkripsi.Biarkan sesi ini terbuka hingga migrasi selesai. Jika Anda membuat transfer migrasi berulang, biarkan sesi ini tetap terbuka tanpa batas waktu. Jika sesi ini terganggu, transfer saat ini dan selanjutnya akan gagal.
Pantau secara berkala apakah agen berjalan atau tidak. Jika proses transfer sedang berlangsung dan tidak ada agen yang merespons dalam waktu 24 jam, proses transfer akan gagal.
Jika agen migrasi berhenti berfungsi saat transfer sedang berlangsung atau dijadwalkan, Konsol Google Cloud akan menampilkan status error dan meminta Anda untuk memulai ulang agen. Untuk memulai agen migrasi lagi, lanjutkan dari awal bagian ini, menjalankan agen migrasi, dengan perintah untuk menjalankan agen migrasi . Anda tidak perlu mengulangi perintah inisialisasi. Transfer dilanjutkan dari titik tempat tabel tidak selesai.
Melacak progres migrasi
Anda dapat melihat status migrasi di Konsol Google Cloud. Anda juga dapat menyiapkan notifikasi Pub/Sub atau email. Lihat Notifikasi BigQuery Data Transfer Service.
BigQuery Data Transfer Service menjadwalkan dan memulai transfer yang dijalankan pada jadwal yang ditentukan setelah pembuatan konfigurasi transfer. Agen migrasi harus berjalan saat proses transfer aktif. Jika tidak ada info terbaru dari agen dalam waktu 24 jam, proses transfer akan gagal.
Contoh status migrasi di Konsol Google Cloud:
Mengupgrade agen migrasi
Jika versi baru agen migrasi tersedia, Anda harus memperbarui agen migrasi secara manual. Untuk menerima pemberitahuan BigQuery Data Transfer Service, Anda harus berlangganan catatan rilis.
Langkah selanjutnya
- Coba migrasi uji coba Teradata ke BigQuery.
- Pelajari BigQuery Data Transfer Service lebih lanjut.
- Migrasikan kode SQL dengan terjemahan Batch SQL.