我知道我可以使用writetime()
來獲取列的內部時間戳,但可以獲取集合中某個特定項目的時間戳嗎(如列表)嗎?我的理解是收集項目在內部存儲爲單獨的列,所以看起來他們應該有單獨的時間戳。在CQL/Cassandra中獲取收集項目的時間戳
1
A
回答
2
集合中的各個列確實有單獨的時間戳。你可以通過使用sstable2json函數直接檢查SSTable來看到這一點。
CREATE TABLE users (
user_id text,
emails set<text>,
first_name text,
last_name text,
PRIMARY KEY ((user_id))
)
INSERT INTO users (user_id, first_name, last_name, emails)
VALUES('frodo', 'Frodo', 'Baggins', {'[email protected]', '[email protected]'});
UPDATE users
SET emails = emails + {'[email protected]'} WHERE user_id = 'frodo';
隨後的SSTable看起來是這樣的:
[
{"key": "66726f646f","columns": [["","",1444170199819000],
["emails","emails:!",1444170199818999,"t",1444170199],
["emails:62616767696e7340676d61696c2e636f6d","",1444170199819000],
["emails:664062616767696e732e636f6d","",1444170199819000],
["emails:666240667269656e64736f666d6f72646f722e6f7267","",1444170213268000],
["first_name","Frodo",1444170199819000],
["last_name","Baggins",1444170199819000]]}
]
你可以看到電子郵件中的3項對應的時間戳1444170199819000,1444170199819000和1444170213268000.
但是好像它不可能通過CQL返回這些信息。您將無法從該集中返回單個列,但將時間戳與該集中所有條目的值一起返回是合理的,但是我找不到任何有關如何執行此操作的文檔它看起來不像它的支持。
1
集合元素有自己的時間戳,但使用CQL獲取這些時間戳是不可能的。請參閱相應的Jira票證以支持此功能:CASSANDRA-8877。
相關問題
- 1. 從FTP文件列表中獲取項目的時間戳
- 2. 如何收集對基於時間戳
- 3. 在收集視圖中獲取最近添加的項目
- 4. 在php中獲取動態時間戳?
- 5. 在php中獲取時間戳
- 6. 在Lua中獲取UTC UNIX時間戳
- 7. 收集項目變更時
- 8. 從PHP獲取時間戳
- 9. 獲取時間戳rtp包
- 10. 獲取unix時間戳
- 11. 獲取未來時間戳
- 12. iOS獲取UTC時間戳
- 13. 獲取perl中的時間戳
- 14. 獲取java中的時間戳
- 15. 從時間戳獲取本地時間
- 16. 在unix時間戳(php)中獲取昨天的開始時間
- 17. 從服務器獲取的時間戳本地時間戳
- 18. 獲取時間戳的時區
- 19. C#獲取帶時區的時間戳
- 20. '適當'集合用於在C#.NET中獲取O(1)時間中的項目?
- 21. PHP - 從時間戳中獲取milliSecond
- 22. 只獲取時間戳在MySQL
- 23. 在時間戳記上獲取日誌
- 24. 從特定時間戳獲取午夜時間戳值
- 25. 如何從postgres獲取時間戳作爲時間戳?
- 26. 獲取時間戳在特定月份的時間戳數組的元素
- 27. 無法獲取從PHP中的時間戳日期和時間?
- 28. 從配置單元中的時間戳獲取時間
- 29. 在Javascript中獲取當前小時的時間戳
- 30. 從Cassandra獲取最後的時間戳