apache-spark - 如何在时间戳上对 cassandra 表进行分区?
问题描述
我有这样的桌子
CREATE TABLE ks.log_by_date (
column_name text,
status text,
error_msg text,
last_update_date date,
last_update_timestamp timestamp,
updated_user text,
PRIMARY KEY (( column_name), last_update_date)
) WITH CLUSTERING ORDER BY ( last_update_date DESC );
INSERT INTO ks.log_by_date (column_name,last_update_date,error_msg,last_update_timestamp,status,updated_user)
VALUES ('column_log_by_date','2018-10-23','NONE',1540302120001,'ERROR','user1');
INSERT INTO ks.log_by_date (column_name,last_update_date,error_msg,last_update_timestamp,status,updated_user)
VALUES ('column_log_by_date','2018-10-23','NONE',1540302340001,'SUCCESS','user1');
当我基于“last_update_timestamp”列插入两列时,具有不同的时间戳 1540302120001 和 1540302340001,该行被覆盖。
我在这里做错了什么?为什么它覆盖行而不是两个单独的行。我怎样才能在此处插入两行...基于 last_update_timestamp
你的帮助是非常有意义的。
解决方案
如果您希望将不同last_update_timestamp
的 2 行计为单独的行,那么您需要将last_update_timestamp
主键放入主键中,作为聚类列:
PRIMARY KEY (( column_name), last_update_date, last_update_timestamp)
但我不知道 - 你真的需要在last_update_date
那里吗?您是否需要选择所有具有某些特定的行last_update_date
?
推荐阅读
- r - ggplot 根据值以不正确的顺序渲染图
- java - NotifyAll/SignalAll 使线程停止正常工作
- android - 如何修复 FrameLayout 之间的空间 - ConstraintLayout
- java - Program type already present after updating from sdk 27 to 28
- html - 悬停在一种情况下有效,但在另一种情况下无效
- php - 持久完整性约束 Laravel
- c++ - Visual Studio 找不到 GL/glut.h
- c++ - OpenGL - 对象轮廓
- javascript - 如何在数据表中一次对两列进行排序
- python - tkinter 中主框架上的框架布局