Tôi đang sử dụng Cassandra 2.0.9 để lưu trữ một lượng lớn dữ liệu, giả sử 100Gb, trong một họ cột. Tôi muốn xuất dữ liệu này sang CSV theo cách nhanh chóng. Tôi cố gắng:Xuất lượng lớn dữ liệu từ Cassandra sang CSV
- sstable2json - nó tạo ra file json khá lớn mà rất khó để phân tích - bởi vì công cụ đặt dữ liệu trong một hàng và sử dụng phức tạp schema, phải mất (ví dụ: 300MB tập tin dữ liệu = ~ 2Gb json.) rất nhiều thời gian để đổ và Cassandra thích thay đổi tên tập tin nguồn theo cơ chế nội bộ của mình
- COPY - gây timeouts trên EC2 khá nhanh cho số lượng lớn các bản ghi
- CAPTURE - như trên, nguyên nhân timeouts
- đọc với pagination - Tôi đã từng timeuuid cho nó, nhưng nó sẽ trả về khoảng 1,5k hồ sơ mỗi giây
tôi sử dụng Amazon EC2 dụ với lưu trữ nhanh, 15 Gb RAM và 4 lõi
Is có bất kỳ lựa chọn tốt hơn cho xuất khẩu gigabyte dữ liệu từ Cassandra để CSV?
Bạn đã xem xét việc tạo ra sự phản bội nhỏ cho điều này? Sử dụng trình điều khiển datastax bạn có thể dễ dàng thực hiện các yêu cầu trích xuất dữ liệu của bạn sau đó tuần tự hóa chúng trong tệp csv (s) với ít hoặc không có mã java? Điều này sẽ đảm bảo bạn có được kết quả chính xác mà bạn muốn (cho một chút nỗ lực). – Ar3s
Hơn nữa, tôi không nhận được phương pháp cũng không phải là vấn đề về "đọc với pagination". – Ar3s
* đọc với pagination * - sử dụng trình điều khiển python Tôi đã cố gắng đọc nội dung bằng giới hạn (giá trị được kiểm tra 100 - 10000, dựa trên TimeUuid) và bù đắp, nó thực sự chậm, Cassandra có thể đọc khoảng 1,5 nghìn bản ghi mỗi giây 3 trường hợp và nhân rộng 2 Tôi không thể tưởng tượng, chỉ đơn giản là sử dụng trình điều khiển sẽ tạo khả năng đọc nhanh, vì mỗi hàng Cassandra phải kiểm tra dữ liệu nút nào được lưu trữ. – KrzysztofZalasa