chúng tôi có DB mongo của chúng tôi để lưu trữ dữ liệu JSON. Chúng tôi muốn di chuyển dữ liệu sang Redshift cho một số mục đích truy vấn.
Chúng tôi đã sử dụng mongoexport csv để tạo csv từ bảng mongo và tải nó lên S3. Chúng tôi đã tạo lược đồ quan hệ tương ứng trong Redshift và sử dụng các lệnh sao chép để tải các dữ liệu csv này từ s3 sang redshift.
Chúng ta có thể sử dụng java apis để truy vấn mongo và tạo và tải csv lên s3. Điều tương tự có thể được tải sang redshift.
Vấn đề thực sự là vì chúng tôi sử dụng mongo (json) hoặc NoSQL, chúng tôi có thể có số lượng cột khác nhau cho đối tượng nhất định thuộc cùng một bảng (như chúng tôi JSON), nhưng trong Redshift, chúng tôi có số cột cố định trên mỗi bảng Vì vậy, trong những trường hợp như vậy bạn cần tạo tất cả các cột có thể và tải dữ liệu. Đối với những đối tượng không có tất cả các cột, chúng tôi có thể điền giá trị null cho chúng.