使用Spark连接器通过分区键查询cassandra的理想方法是什么。我使用where
传入键,但这导致cassandra在引擎盖下添加Allaow filtering
,从而导致超时。
当前设置:
csc.cassandraTable[DATA]("schema", "table").where("id =?", "xyz").map( x=> print(x))
这里id
是分区(不是主)键,我有一个复合主键,只使用分区键进行查询
更新:是的,我得到了一个异常:
如果对整个分区键使用where子句,ALLOW筛选不会影响查询。如果查询超时,这可能意味着您的分区非常大,或者没有指定完整的分区键
编辑:
Cassandra failure during read query at consistency LOCAL_ONE (1 responses were required but only 0 replica responded, 1 failed)
意味着您的查询被发送到没有您要查找的数据副本的计算机。通常,这意味着密钥空间的复制设置不正确,或者连接主机不正确。local_one
的local
部分意味着只有在local_dc
上有可用的数据时,才允许查询成功。
因此,我尝试使用Spark SQL进行以下查询('timestamp'是分区键): 虽然作业产生200个任务,但查询不会返回任何数据。 另外,我可以保证会返回数据,因为在cqlsh上运行查询(使用'token'函数进行适当的转换)确实会返回数据。 但不幸的是我不知道什么是“过滤器”...
有“KeyPressEvent”一种区分连续按键的方法。我的意思是,如果用户保留了键盘上的一个键,但没有很快释放它,我怎么能理解它?我想在“超级马里奥”游戏中用它。
Azure Cosmos DB中的Gremlin API允许我们在不同分区(p1、p2)中创建具有相同id(v1)的顶点。当我为一个分区(p1)中的顶点(v1)创建自边(e1)时,两个分区(p1的v1和p2的v2)中的顶点都创建了两条边。但实际上,p1的顶点(v1)只需要创建一条边。我使用gremlin版本3.4.10创建边。在Azure Portal中为顶点添加源和目标时,观察到了创建重复边的相
我正在DynamoDB中设计一个表,它将包含大量记录,每个记录都有一个唯一的ID和一个时间戳。我需要检索一组位于两个日期之间的记录,而不管所有其他属性值如何。 为时间戳字段添加全局辅助索引似乎是一个合乎逻辑的解决方案,但这并不简单。 DynamoDB中的Query命令需要一个KeyConditionExpression参数,该参数确定查询返回的结果。从DynamoDB开发人员指南: 要指定搜索条件
问题内容: 我的表结构如下所示, “邮件” 列可以包含多个由逗号连接的电子邮件 数据(整数) 邮件(varchar(200)) [数据] [邮件] 1引用m1 @ gmail.com,m2 @ hotmail.com 2引用m2 @ hotmail.com,m3 @ test.com &我需要生成如下的报告,对每封电子邮件的每一行进行计数 [邮件] 听听听听听听听听听听听听听听听听听 [COUNT
是否有一种方法可以使用datastax/spark-cassandra-connector来选择每个分区密钥的最新版本,该版本相当于Cassandra3.6和更高版本的每个分区限制选项? PerPartitionLimitTest域实体 卡桑德拉表: Maven引用: