Běžel jsem se stejným problémem, zde je moje řešení:
Export dat z MySQL
Nejprve exportujte data z MySQL tímto způsobem:
SELECT * INTO OUTFILE 'filename.csv' CHARACTER SET 'utf8'
FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY ''
FROM table <yourtable>
Toto je ve skutečnosti soubor tsv (hodnoty oddělené tabulátory), ale můžete je importovat podle představ csv.
Import do Big Query
Tímto způsobem byste měli být schopni jej importovat do velkého dotazu s následujícími parametry:
bq load --field_delimiter="\t" --null_marker="\N" --quote="" \
PROJECT:DATASET.tableName gs://bucket/data.csv.gz table_schema.json
Poznámky
-
Pokud nějaké pole ve vaší databázi MySQL obsahuje znak tabulátoru (
\t
), rozbije vaše sloupce. Abyste tomu zabránili, můžete přidat funkci SQLREPLACE(<column>, '\t', ' ')
na sloupcích a převede se z tabulátorů na mezery. -
Pokud nastavíte schéma tabulky ve webovém rozhraní velkého dotazu, nebudete jej muset zadávat pokaždé, když načtete soubor CSV.
Doufám, že to pro vás bude fungovat.