Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Prática recomendada para migrar dados do MySQL para o BigQuery


Estou correndo com o mesmo problema, aqui está minha solução:

Exportando dados do MySQL


Primeiro, exporte os dados do MySQL desta forma:
SELECT * INTO OUTFILE 'filename.csv' CHARACTER SET 'utf8' 
FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '' 
FROM table <yourtable>

Este é na realidade um arquivo tsv (valores separados por tabulação), mas você pode importá-los como pensamento csv.

Importar para o Big Query


Dessa forma, você poderá importá-lo para uma consulta grande com os seguintes parâmetros:
bq load --field_delimiter="\t" --null_marker="\N" --quote="" \
PROJECT:DATASET.tableName gs://bucket/data.csv.gz table_schema.json

Observações


  1. Se algum campo em seu banco de dados MySQL contiver um caractere de tabulação (\t ), ele quebrará suas colunas. Para evitar que você possa adicionar a função SQL REPLACE(<column>, '\t', ' ') nas colunas e converterá de tabulações para espaços.

  2. Se você definir o esquema da tabela na interface da web do big query, não precisará especificá-lo toda vez que carregar um CSV.

Espero que isso funcione pra você.