Ich habe das gleiche Problem, hier ist meine Lösung:
Daten aus MySQL exportieren
Exportieren Sie zuerst die Daten aus MySQL auf diese Weise:
SELECT * INTO OUTFILE 'filename.csv' CHARACTER SET 'utf8'
FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY ''
FROM table <yourtable>
Dies ist in Wirklichkeit eine tsv-Datei (tabulatorgetrennte Werte), aber Sie können sie als csv-Datei importieren.
In Big Query importieren
Auf diese Weise sollten Sie es mit den folgenden Parametern in Big Query importieren können:
bq load --field_delimiter="\t" --null_marker="\N" --quote="" \
PROJECT:DATASET.tableName gs://bucket/data.csv.gz table_schema.json
Notizen
-
Wenn irgendein Feld in Ihrer MySQL-Datenbank ein Tabulatorzeichen enthält (
\t
), wird es Ihre Spalten brechen. Um dies zu verhindern, können Sie die SQL-FunktionREPLACE(<column>, '\t', ' ')
hinzufügen auf die Spalten und es wird von Tabulatoren in Leerzeichen umgewandelt. -
Wenn Sie das Tabellenschema in der Weboberfläche von Big Query festlegen, müssen Sie es nicht jedes Mal angeben, wenn Sie eine CSV-Datei laden.
Ich hoffe, das funktioniert für Sie.