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
-
Jika ada bidang di database MySQL Anda yang berisi karakter tab (
\t
), itu akan merusak kolom Anda. Untuk mencegahnya Anda dapat menambahkan fungsi SQLREPLACE(<column>, '\t', ' ')
pada kolom dan itu akan mengkonversi dari tab ke spasi. -
Jika Anda menyetel skema tabel di antarmuka web kueri besar, Anda tidak perlu menentukannya setiap kali memuat CSV.
Saya harap ini berhasil untuk Anda.