Mysql
 sql >> база данни >  >> RDS >> Mysql

Най-добра практика за мигриране на данни от MySQL към BigQuery

Бях със същия проблем, ето моето решение:

Експортиране на данни от MySQL

Първо, експортирайте данните от MySQL по следния начин:

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

Това всъщност е tsv файл (стойности, разделени с табулатори), но можете да ги импортирате, както мислите за csv.

Импортиране в Big Query

По този начин трябва да можете да го импортирате в голяма заявка със следните параметри:

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

Бележки

  1. Ако някое поле във вашата MySQL база данни съдържа знак за табулация (\t ), това ще разбие вашите колони. За да предотвратите това, можете да добавите SQL функцията REPLACE(<column>, '\t', ' ') върху колоните и ще се преобразува от табулатори в интервали.

  2. Ако зададете схемата на таблицата в уеб интерфейса на голяма заявка, няма да е необходимо да я указвате всеки път, когато зареждате CSV.

Надявам се, че това работи за вас.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL транзакция:SELECT + INSERT

  2. Не е поставена отметка в квадратчето за отметка, връщащо нулева стойност

  3. Използвайте шаблони за формиране на облак, за да развиете MySQL екземпляри на RDS

  4. Най-добри практики за показване на резултати от търсенето със свързани текстови фрагменти от действителния резултат

  5. SELECT / GROUP BY - сегменти от време (10 секунди, 30 секунди и т.н.)