Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Menebak skema di Mysqlinput dengan cepat di Talend

Jika Anda menggunakan Talend versi berlangganan, Anda dapat menggunakan jenis kolom dinamis. Anda dapat menentukan satu kolom untuk input Anda dengan tipe "Dinamis" dan memetakannya ke kolom dengan tipe yang sama di komponen output Anda. Ini akan secara dinamis mendapatkan kolom dari tabel a dan memetakannya ke kolom yang sama di tabel b. Berikut contoh .
Jika Anda menggunakan Talend Open Studio, segalanya menjadi sedikit lebih rumit karena Talend mengharapkan daftar kolom untuk komponen input dan output yang perlu ditentukan pada waktu desain.

Inilah solusi yang saya kumpulkan untuk mengatasi batasan ini.

Idenya adalah untuk membuat daftar semua kolom tabel a yang ada di tabel b. Kemudian ubah menjadi daftar kolom yang dipisahkan koma, dalam contoh saya id,Theme,name dan simpan dalam variabel global COLUMN_LIST . Keluaran kedua dari tMap membuat daftar kolom yang sama, tetapi kali ini menempatkan tanda kutip tunggal di antara kolom (sehingga dapat digunakan sebagai parameter untuk CONCAT fungsi nanti), lalu tambahkan tanda kutip tunggal ke awal dan akhir, seperti:"'", id,"','",Theme,"','",name,"'" dan simpan dalam variabel global CONCAT_LIST .

Pada subjob berikutnya, saya menanyakan table a menggunakan CONCAT fungsi, memberikannya daftar kolom yang akan digabungkan CONCAT_LIST , sehingga mengambil setiap catatan dalam satu kolom seperti 'value1', 'value2',..etc

Lalu akhirnya saya menjalankan INSERT kueri terhadap table b , dengan menentukan daftar kolom yang diberikan oleh variabel global COLUMN_LIST , dan nilai yang akan disisipkan sebagai string tunggal yang dihasilkan dari CONCAT fungsi (row6.values ).

Solusi ini bersifat umum, jika Anda mengganti nama tabel dengan variabel konteks, Anda dapat menggunakannya untuk menyalin data dari tabel MySQL ke tabel lain.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SET NAMA utf8 di MySQL?

  2. Cara Menambahkan Waktu ke Nilai Datetime di MySQL

  3. Cari posisi teks, ekstrak teks dan masukkan di kolom baru di MySQL

  4. mysql:merujuk ke kolom dengan angka

  5. Perbaiki Peringatan MySQL 1287:'BINARY expr' tidak digunakan lagi dan akan dihapus dalam rilis mendatang