Ho eseguito con lo stesso problema, ecco la mia soluzione:
Esportazione di dati da MySQL
Innanzitutto, esporta i dati da MySQL in questo modo:
SELECT * INTO OUTFILE 'filename.csv' CHARACTER SET 'utf8'
FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY ''
FROM table <yourtable>
Questo è in realtà un file tsv (valori separati da tabulazioni), ma puoi importarli come csv pensato.
Importa in Big Query
In questo modo dovresti essere in grado di importarlo in una query grande con i seguenti parametri:
bq load --field_delimiter="\t" --null_marker="\N" --quote="" \
PROJECT:DATASET.tableName gs://bucket/data.csv.gz table_schema.json
Note
-
Se un campo nel database MySQL contiene un carattere di tabulazione (
\t
), interromperà le tue colonne. Per evitarlo puoi aggiungere la funzione SQLREPLACE(<column>, '\t', ' ')
sulle colonne e verrà convertito da tabulazioni in spazi. -
Se imposti lo schema della tabella nell'interfaccia web di Big Query non dovrai specificarlo ogni volta che carichi un CSV.
Spero che questo funzioni per te.