小编kev*_*vad的帖子

Cassandra CQL - 具有多个聚类列的聚类顺序

我有一个列系列,主键定义如下:

...
PRIMARY KEY ((website_id, item_id), user_id, date)
Run Code Online (Sandbox Code Playgroud)

将使用以下查询查询:

SELECT * FROM myCF
WHERE website_id = 30 AND item_id = 10
AND user_id = 0 AND date > 'some_date' ;
Run Code Online (Sandbox Code Playgroud)

但是,我想保留我的列系列仅按日期排序,例如SELECT date FROM myCF ;将返回最近插入的日期.

由于聚类列的顺序,我得到的是每个user_id的订单,然后是每个日期.如果我将主键定义更改为:

PRIMARY KEY ((website_id, item_id), date, user_id)
Run Code Online (Sandbox Code Playgroud)

我不能再运行相同的查询,因为必须限制日期是user_id.

我想可能有一些方法可以说:

...
  PRIMARY KEY ((website_id, shop_id), store_id, date)
) WITH CLUSTERING ORDER BY (store_id RANDOMPLEASE, date DESC) ;
Run Code Online (Sandbox Code Playgroud)

但它似乎并不存在.最糟糕的,也许这是完全愚蠢的,我不明白为什么.

有没有办法实现这个目标?我错过了什么吗?

非常感谢!

cql cassandra cql3 cqlsh

6
推荐指数
1
解决办法
1万
查看次数

从scipy中的稀疏矩阵中删除对角元素

我想从稀疏矩阵中删除对角元素.由于矩阵是稀疏的,因此一旦移除就不应存储这些元素.

Scipy提供了一种设置对角元素值的方法:setdiag

如果我使用lil_matrix尝试它,它的工作原理:

>>> a = np.ones((2,2))
>>> c = lil_matrix(a)
>>> c.setdiag(0)
>>> c
<2x2 sparse matrix of type '<type 'numpy.float64'>'
    with 2 stored elements in LInked List format>
Run Code Online (Sandbox Code Playgroud)

但是使用csr_matrix时,似乎不会从存储中删除对角元素:

>>> b = csr_matrix(a)
>>> b
<2x2 sparse matrix of type '<type 'numpy.float64'>'
    with 4 stored elements in Compressed Sparse Row format>

>>> b.setdiag(0)
>>> b
<2x2 sparse matrix of type '<type 'numpy.float64'>'
    with 4 stored elements in Compressed Sparse Row format>

>>> b.toarray()
array([[ 0.,  1.],
       [ …
Run Code Online (Sandbox Code Playgroud)

python scipy sparse-matrix

6
推荐指数
1
解决办法
2167
查看次数

标签 统计

cassandra ×1

cql ×1

cql3 ×1

cqlsh ×1

python ×1

scipy ×1

sparse-matrix ×1