我用來創建表如下代碼:找到非主鍵列的唯一值CQL卡桑德拉
CREATE KEYSPACE mykeyspace
WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
USE mykeyspace;
CREATE TABLE users (
user_id int PRIMARY KEY,
fname text,
lname text
);
INSERT INTO users (user_id, fname, lname)
VALUES (1745, 'john', 'smith');
INSERT INTO users (user_id, fname, lname)
VALUES (1744, 'john', 'doe');
INSERT INTO users (user_id, fname, lname)
VALUES (1746, 'john', 'smith');
我想找到lname
列的不同值(即不是主鍵)。我希望得到以下結果:
lname
-------
smith
通過使用SELECT DISTINCT lname FROM users;
但是,由於lname
不是PRIMARY KEY
我得到以下錯誤:
InvalidRequest: code=2200 [Invalid query] message="SELECT DISTINCT queries must
only request partition key columns and/or static columns (not lname)"
cqlsh:mykeyspace> SELECT DISTINCT lname FROM users;
如何從lname
得到不同的值?
謝謝。我確實使用了SPARK。你能否詳細說明如何完成?我認爲獨特是非常普遍的事情。在SPARK(Scala)中沒有現成的代碼,我可以使用它嗎? – Avi
嗨不要使用Scala,但這裏有幾個鏈接,可能有助於http://stackoverflow.com/questions/30959955/how-does-distinct-function-work-in-spark和http://stackoverflow.com/questions/24312113 /高效-計數不同與 - apache的火花 –