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

Praktik Terbaik untuk memigrasikan data dari MySQL ke BigQuery

Saya mengalami masalah yang sama, inilah solusi saya:

Mengekspor data dari MySQL

Pertama, ekspor data dari MySQL dengan cara ini:

SELECT * INTO OUTFILE 'filename.csv' CHARACTER SET 'utf8' 
FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '' 
FROM table <yourtable>

Ini sebenarnya adalah file tsv (nilai yang dipisahkan tab), tetapi Anda dapat mengimpornya sebagai csv.

Impor ke Big Query

Dengan cara ini Anda dapat mengimpornya ke dalam kueri besar dengan parameter berikut:

bq load --field_delimiter="\t" --null_marker="\N" --quote="" \
PROJECT:DATASET.tableName gs://bucket/data.csv.gz table_schema.json

Catatan

  1. Jika ada bidang di database MySQL Anda yang berisi karakter tab (\t ), itu akan merusak kolom Anda. Untuk mencegahnya Anda dapat menambahkan fungsi SQL REPLACE(<column>, '\t', ' ') pada kolom dan itu akan mengkonversi dari tab ke spasi.

  2. Jika Anda menyetel skema tabel di antarmuka web kueri besar, Anda tidak perlu menentukannya setiap kali memuat CSV.

Saya harap ini berhasil untuk Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengimpor file csv ke meja kerja MySQL?

  2. Bagaimana cara mengimpor file CSV besar dengan 200,00 baris ke MySQL (asinkron dan cepat)?

  3. Cara terbaik untuk menyimpan hubungan banyak-ke-banyak di MySQL?

  4. Bagaimana cara menggunakan gabungan penuh luar di laravel 5.0?

  5. MySQL Sebelum Hapus pemicu untuk menghindari menghapus banyak baris