Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Najlepsze praktyki dotyczące migracji danych z MySQL do BigQuery

Biegałem z tym samym problemem, oto moje rozwiązanie:

Eksportowanie danych z MySQL

Najpierw wyeksportuj dane z MySQL w ten sposób:

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

W rzeczywistości jest to plik tsv (wartości rozdzielane tabulatorami), ale można je zaimportować jako myśl csv.

Importuj do Big Query

W ten sposób powinieneś być w stanie zaimportować go do dużego zapytania z następującymi parametrami:

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

Notatki

  1. Jeśli jakiekolwiek pole w Twojej bazie danych MySQL zawiera znak tabulacji (\t ), złamie Twoje kolumny. Aby temu zapobiec, możesz dodać funkcję SQL REPLACE(<column>, '\t', ' ') w kolumnach i zmieni się z tabulatorów na spacje.

  2. Jeśli ustawisz schemat tabeli w interfejsie internetowym dużego zapytania, nie będziesz musiał określać go za każdym razem, gdy ładujesz plik CSV.

Mam nadzieję, że to działa dla Ciebie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Różnica między NULL a pustą wartością w Mysql

  2. Ostrzeżenie:Nie można modyfikować informacji nagłówka - nagłówki już wysłane przez błąd

  3. MySql wybierający wartość domyślną, jeśli nie ma wyników?

  4. zapytanie php dla szerokości i długości geograficznej iOS nie wyszukuje pobliskiego mysql lat i lon z wyjściem xml

  5. Błąd krytyczny:wywołanie funkcji członkowskiej bind_param() na wartości logicznej