Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Phương pháp hay nhất để di chuyển dữ liệu từ MySQL sang BigQuery

Tôi đã chạy với cùng một vấn đề, đây là giải pháp của tôi:

Xuất dữ liệu từ MySQL

Đầu tiên, xuất dữ liệu từ MySQL theo cách này:

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

Trên thực tế, đây là một tệp tsv (các giá trị được phân tách bằng tab), nhưng bạn có thể nhập chúng dưới dạng csv.

Nhập vào Truy vấn lớn

Bằng cách này, bạn sẽ có thể nhập nó vào truy vấn lớn với các tham số sau:

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

Ghi chú

  1. Nếu bất kỳ trường nào trong cơ sở dữ liệu MySQL của bạn chứa ký tự tab (\t ), nó sẽ phá vỡ các cột của bạn. Để tránh điều đó, bạn có thể thêm hàm SQL REPLACE(<column>, '\t', ' ') trên các cột và nó sẽ chuyển đổi từ tab thành dấu cách.

  2. Nếu bạn đặt giản đồ bảng trong giao diện web của truy vấn lớn, bạn sẽ không cần chỉ định nó mỗi khi tải CSV.

Tôi hy vọng điều này hiệu quả với bạn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Amazon RDS không thể thực thi lệnh SET GLOBAL

  2. TẢI THÔNG TIN DỮ LIỆU Mã lỗi:13

  3. Xoay tập hợp kết quả mysql và tạo bảng / ma trận html

  4. Kiểm tra độ dài tối đa của những ngày liên tiếp đáp ứng điều kiện cụ thể

  5. Lược đồ xuất MySql không có dữ liệu