我正在尝试创建以下层次结构: UserId 作为rowKey,每小时时间序列作为列,在每小时列中,我希望有一个用户特定信息,例如每小时活动。
{
UserId:long
{
Timestamp:datetime{
pageview: integer,
clicks:integer
}
}
我读过可以使用supercolumns
来实现它,但与此同时提到supercolumns
现在已经过时了。如果是真的,我可以使用任何替代品吗?
你能不能给我提供CQL / Java thrift示例我应该如何在Cassandra中创建和插入这种类型的结构?
谢谢!
答案 0 :(得分:1)
您可以为此使用复合主键,我为表添加表创建CQL查询。您可以使用计数器列进行点击。
CREATE TABLE user_click_by_hour(
userid long,
time_stamp timestamp,
clicks int,
pageview int,
PRIMARY KEY(userid,time_stamp)
)
答案 1 :(得分:0)
如果您的信息受特定使用和一起访问。例如,如果您在任何时候,需要点击和网页浏览,我建议您将其用作json商店
CREATE TABLE user_click_by_hour(
userid long,
time_stamp timestamp,
val text,
PRIMARY KEY(userid,time_stamp)
)
val是一个包含点击次数,综合浏览量等的json对象。
<强>优势强>
1.您无需担心更改表格以添加额外的列,这会为每个前一个条目添加空值