2013-08-22 19 views
5

Tôi đã tạo một không gian khóa cũ trong cụm Cassandra nhưng tìm thấy định nghĩa của "bộ so sánh" của nó là sai, vì vậy tôi phải tạo lại một không gian phím mới và thực hiện di chuyển dữ liệu. Có công cụ nào để thực hiện di chuyển dữ liệu không? hoặc tôi phải lập trình với khách hàng tiết kiệm đọc tất cả dữ liệu từ keyspace cũ và ghi chúng vào keyspace mới? Bất kỳ đề xuất hoặc đoạn mã nào đều được chào đón!Làm cách nào để di chuyển dữ liệu của Cassandra từ một không gian khóa sang một không gian phím khác?

Trả lời

0

Chúng tôi có thể làm điều đó bằng cách sử dụng lệnh COPY trong cql. Sử dụng lệnh COPY chúng tôi có thể lưu dữ liệu bảng vào .csv tệp và quay lại bảng từ .csv tệp. Tuy nhiên, cách tiếp cận tốt hơn sẽ là viết một chương trình để đọc từ bảng và viết nó vào bảng khác vì nhập từ csv có thể thất bại nếu bảng chứa các loại cột thu thập như list<text>, map<text, text>, set<text>.

Ví dụ: - Để sao chép dữ liệu bảng từ bảng để .csv file: -

COPY keyspace1.table1 (column1, column2) TO 'path/to/file/keyspace1_table1.csv'; 

Để sao chép dữ liệu csv từ tập tin vào một bảng: -

COPY keyspace2.table1 (column1, column2) FROM 'path/to/file/keyspace1_table1.csv'; 

Tham khảo Cassandra migration tool

Các vấn đề liên quan