Chúng tôi đang sử dụng Cassandra làm nhà sử dụng dữ liệu cho giải pháp quản lý hạm đội của chúng tôi. Chúng tôi có một chiếc bàn ở Cassandra, nơi lưu trữ các chi tiết của cuộc hành trình do chiếc xe thực hiện. Các cấu trúc bảng là như đưa ra dưới đâyLỗi Cassandra - Không thể giới hạn cột nhóm (cột trước bị giới hạn bởi quan hệ phi EQ)
CREATE TABLE journeydetails(
bucketid text,
vehicleid text,
starttime timestamp,
stoptime timestamp,
travelduration bigint,
PRIMARY KEY (bucketid,vehicleid,starttime,travelduration)
);
đâu:
- bucketid: - chìa khóa phân vùng mà là một sự kết hợp của tháng, năm
- vehicleid: id -unique của xe
- StartTime : - thời gian bắt đầu của hành trình
- thời gian kết thúc: - thời gian kết thúc của hành trình
- độ lệch: - thời gian di chuyển trong millisecon ds
Chúng tôi muốn chạy truy vấn sau đây - được tất cả các hành trình của một chiếc xe - 1234567 giữa 2015/12/01 và 2015/12/03 có thời gian du lịch lớn hơn 30 phút
Khi tôi chạy truy vấn này:
select * from journeydetails where bucketid in('2015-12') and vehicleid in('1234567')
and starttime > '2015-12-1 00:00:00' and starttime < '2015-12-3 23:59:59'
and travelduration > 1800000;
tôi nhận được kết quả này:
InvalidRequest: code=2200 [Invalid query] message="Clustering column "travelduration"
cannot be restricted (preceding column "starttime" is restricted by a non-EQ relation)
Có ai có đề xuất về cách khắc phục vấn đề này không?
Cảm ơn các bình luận Aron ... Tôi sẽ khám phá Spark như một sự thay thế – sam1977