2016-11-25 9 views
-2

я создал таблицу со следующими полямиКак сделать cassandra результатом сортировки по дате (timestamp) с вычисленными результатами?

CREATE TABLE snwv2jobs.testtab (
    testtabid bigint, 
    posteddate timestamp, 
    description text, 
    year bigint, 
    PRIMARY KEY ((testtabid,year),posteddate) 
) WITH CLUSTERING ORDER BY (posteddate DESC) 

но на получение данных, результат показывает:

testtabid - 35
posteddate - 2016-11-25 17: 40: 29 + 0530 год - 2016

testtabid - 36
posteddate - 2016-11-25 17: 40: 31 + 0530 год -2016

testtabid - 34
posteddate - 2016-11-25 17: 40: 25 + 0530 год -2016

testtabid - 37
posteddate - 2016-11-25 17: 40: 34 + 0530 год -2016

testtabid - 38
posteddate - 2016-11-25 17: 40: 37 + 0530 год -2016

я нужен результат таким образом:

testtabid - 38
posteddate - 2016-11-25 17: 40: 37 + 0530 год -2016

testtabid - 37
posteddate - 2016-11-25 17: 40: 34 + 0530 год -2016

testtabid - 36
posteddate - 2016-11-25 17: 40: 31 + 0530 год -2016

testtabid - 35
posteddate - 2016-11-25 17:40:29 +0530 год -2016

testtabid - 34
posteddate - 2016-11-25 17: 40: 25 + 0530 год -2016

+0

Данные о заказе Кассандры ключом кластера в значении ключа раздела. В вашем случае для одного теста testtabid и год данные будут отсортированы по адресу postdate desc –

ответ

0

Если вы хотите, чтобы все данные в год сортируются по posteddate, здесь представляет собой схему

CREATE TABLE snwv2jobs.testtab (
    testtabid bigint, 
    posteddate timestamp, 
    description text, 
    year bigint, 
    PRIMARY KEY ((year),posteddate, testtabid) 
) WITH CLUSTERING ORDER BY (posteddate DESC, testtabid DESC) 

Существует проблема с приведенной схемой. Если у вас есть огромные данные, генерируемые за год. все данные перейдут в тот же раздел.

Поэтому вам нужно добавить месяц и неделю в раздел. Так вот схема, которая будет сортировать все данные в неделе

CREATE TABLE snwv2jobs.testtab (
    testtabid bigint, 
    posteddate timestamp, 
    description text, 
    year int, 
    month int, 
    week int, 
    PRIMARY KEY ((year,month,week),posteddate, testtabid) 
) WITH CLUSTERING ORDER BY (posteddate DESC, testtabid DESC) 

Если у вас меньше данных вы можете удалить неделю из ключа раздела, или если у вас есть огромные данные порождая в день вы можете добавить день к ключ раздела вместо недели.

+0

Спасибо Ashraful Islam. Это сработало. будет u pls chek этот вопрос также http: // stackoverflow.com/questions/40837826/data-reference-and-updation-in-cassandra-tables – BaijuPV

+0

Если вы работаете, можете ли вы принять ответ –

+0

Hi Ashraful Islam. Will u pls проверить эту ссылку http://stackoverflow.com/questions/40906913/sorting-order-in-cassandra-result – BaijuPV

 Смежные вопросы

  • Нет связанных вопросов^_^