2016-08-15 42 views
0

我在cassandra有一個表學生(id,marks,score)。我創建了id爲主鍵的表。我需要按分數對錶格進行排序,並且我還沒有爲分數創建分區鍵。如何創建分區鍵而不重新創建表?Cassandra:創建一個分區鍵

回答

2

Cassandra不允許您更改主鍵,因爲主鍵定義了數據如何物理存儲在磁盤上。如果你真的想改變它,正如你已經提到過的,唯一的辦法是用不同的主鍵創建一個新表並將所有數據遷移到新表中。

在您的新表中,您可能仍然需要ID作爲您的分區鍵(假設您在查詢時知道ID),並將分數作爲聚類列。這將允許您搜索特定的ID,然後按照與該分區關聯的分數進行排序。

0

Cassandra 3.0的Materialized Views功能允許您使用不同列作爲分區鍵的新視圖。該視圖可以在不重新創建表格的情況下添加。

關於何時何時不使用它們有很好的討論here