tôi đang cố gắng để tạo ra một Bảng Cột WIDE, 20.000 cộtCHỌN Giá trị cụ thể từ bản đồ
Ban đầu tôi đã nghĩ rằng mình sẽ sử dụng:
CREATE TABLE details (
key TEXT,
detail map<TEXT, TEXT>
PRIMARY KEY (KEY)
);
Chèn vào bảng này hoạt động tốt
UPDATE details SET detail = detail + { 'col1': '12'} where key='123' ;
UPDATE details SET detail = detail + { 'col20000': 'ABCD'} where key='123' ;
Tuy nhiên, tôi muốn đọc một chi tiết riêng lẻ:
select detail[col1] where key='123'
.210
khi thực hiện truy vấn này tôi nhận được lỗi sau:
no viable alternative at input '['
Sẽ làm việc này, hay tôi cần một cách tiếp cận khác nhau?
Cảm ơn, đó là cách tiếp cận tôi đã thực hiện. – e90jimmy
Vẫn không nhìn thấy nó 3.9, tự hỏi lý do là gì, không thể tìm thấy nó. AFAIK, chúng được lưu trữ dưới dạng cột. "Không thể đọc một phần cột thu thập trong CQL. Cách duy nhất để lấy dữ liệu từ bộ sưu tập là đọc toàn bộ bộ sưu tập; vì lý do này, việc lưu trữ các bộ dữ liệu lớn, không bị chặn trong cột thu thập" https://github.com/apache/cassandra/blob/cassandra-3.6/CHANGES.txt – kisna