2013-07-09 22 views
9

Tôi là newbie to cassandra. Tôi cần phải sao chép dữ liệu từ một columnFamily sang một columnFamily khác trong cùng một keyspace trong cassandra .Say cho ex chúng ta có một A1 columnFamily trong keyspace K1, vì vậy bây giờ tôi cần tạo columnFamily A2 trong cùng một keyspace K1. Tôi cần copy dữ liệu từ columnFamily A1 đến A2 .A1 và A2 có cùng lược đồ. Tôi đọc các tài liệu trực tuyến trong đó chúng ta có thể sử dụng trình tải không ổn định để sao chép dữ liệu từ một cụm cassandra này sang cụm khác. Nhưng ở đây tôi cần phải sao chép dữ liệu từ một columnFamily sang một columnFamily khác trong cùng một keyspace.cassandra sao chép dữ liệu từ một columnfamily đến một columnfamily

Bất kỳ ý tưởng nào ở trên. Hoặc là nó đạt được tôi không chắc chắn về nó.

Trả lời

9

Tùy thuộc vào phiên bản cassandra, bạn có thể sử dụng lệnh sao chép cql. Để sử dụng, bạn cần một máy khách cql giống như một máy khách được phân phối với cassandra.

Trước tiên, bạn phải sao chép A1 columnfamily vào một tập tin CSV sử dụng:

COPY K1.A1 (column1, column2,...) TO 'temp.csv'; 

Và sau đó sao chép các tập tin vào gia đình cột mới

COPY K1.A2 (column1, column2,...) FROM 'temp.csv'; 

Rõ ràng bạn phải thay đổi tên của các cột cho tên của bạn. thông tin

thêm:

http://www.datastax.com/documentation/cassandra/1.2/index.html#cassandra/cql_reference/copy_r.html

+0

Xin cảm ơn. tôi chắc chắn sẽ thử tùy chọn này. – user1278493

+0

Xin vui lòng nếu các giải pháp làm việc cho bạn, hãy kiểm tra câu trả lời là chính xác để người khác có cùng nghi ngờ có thể kiểm tra xem đây có phải là phương pháp để thực hiện hay không. – ftrujillo

+0

Tôi đang cố gắng làm tương tự nhưng nó cho tôi lỗi giống như hằng số STRING không hợp lệ, Giá trị được chèn trước đó vẫn hiện diện. Vì vậy, cần cắt ngắn dữ liệu sau khi thực hiện COPY K1.A1 (cột1, cột2 ,. ..) ĐẾN 'temp.csv'; bậc thang.. –

0

cqlsh -k mykeyspace -e 'COPY fromTable (COLUMNNAMES) ĐẾN STDOUT' | đầu -n -1 | cqlsh -k mykeyspace -e 'COPY toTable (columnNames) TỪ STDIN'

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