Ik heb hetzelfde probleem gehad, hier is mijn oplossing:
Gegevens exporteren uit MySQL
Exporteer eerst de gegevens van MySQL op deze manier:
SELECT * INTO OUTFILE 'filename.csv' CHARACTER SET 'utf8'
FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY ''
FROM table <yourtable>
Dit is in werkelijkheid een tsv-bestand (door tabs gescheiden waarden), maar je kunt ze importeren als csv-gedachte.
Importeren in Big Query
Op deze manier zou je het in Big Query moeten kunnen importeren met de volgende parameters:
bq load --field_delimiter="\t" --null_marker="\N" --quote="" \
PROJECT:DATASET.tableName gs://bucket/data.csv.gz table_schema.json
Opmerkingen
-
Als een veld in uw MySQL-database een tabteken bevat (
\t
), zal het je kolommen breken. Om dat te voorkomen kun je de SQL-functieREPLACE(<column>, '\t', ' ')
toevoegen op de kolommen en het zal worden geconverteerd van tabs naar spaties. -
Als u het tabelschema instelt in de webinterface van Big Query, hoeft u dit niet elke keer op te geven wanneer u een CSV laadt.
Ik hoop dat dit voor u werkt.