sql >> Base de Datos >  >> RDS >> Mysql

Práctica recomendada para migrar datos de MySQL a BigQuery

He estado corriendo con el mismo problema, aquí está mi solución:

Exportar datos desde MySQL

Primero, exporte los datos de MySQL de esta manera:

SELECT * INTO OUTFILE 'filename.csv' CHARACTER SET 'utf8' 
FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '' 
FROM table <yourtable>

Este es en realidad un archivo tsv (valores separados por tabulaciones), pero puede importarlos como pensamiento csv.

Importar a Big Query

De esta manera, debería poder importarlo en una consulta grande con los siguientes parámetros:

bq load --field_delimiter="\t" --null_marker="\N" --quote="" \
PROJECT:DATASET.tableName gs://bucket/data.csv.gz table_schema.json

Notas

  1. Si algún campo en su base de datos MySQL contiene un carácter de tabulación (\t ), romperá tus columnas. Para evitar eso, puede agregar la función SQL REPLACE(<column>, '\t', ' ') en las columnas y se convertirá de tabulaciones a espacios.

  2. Si configura el esquema de la tabla en la interfaz web de Big Query, no necesitará especificarlo cada vez que cargue un CSV.

Espero que esto funcione para ti.