Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark SparkSQL按Cassandra分区键范围限制查询_Apache Spark_Cassandra - Fatal编程技术网

Apache spark SparkSQL按Cassandra分区键范围限制查询

Apache spark SparkSQL按Cassandra分区键范围限制查询,apache-spark,cassandra,Apache Spark,Cassandra,假设我的主键是一个时间戳 我想按时间戳范围限制查询 即使我使用了token(),我似乎也无法让它工作。此外,我无法在分区键上创建辅助索引 这应该怎么做?Cassandra不允许对分区键进行范围查询 处理此问题的一种方法是更改模式,使时间戳值成为集群列。要使其工作,您需要引入一个sentinel列作为分区键。有关更详细的答案,请参见此问题: 另一种方法是让Spark进行过滤。主键上的范围查询应该在Spark SQL中工作。它们不会被下推到Cassandra,Spark将获取所有数据并在Spark端

假设我的主键是一个
时间戳

我想按时间戳范围限制查询

即使我使用了
token()
,我似乎也无法让它工作。此外,我无法在分区键上创建辅助索引


这应该怎么做?

Cassandra不允许对分区键进行范围查询

处理此问题的一种方法是更改模式,使时间戳值成为集群列。要使其工作,您需要引入一个sentinel列作为分区键。有关更详细的答案,请参见此问题:


另一种方法是让Spark进行过滤。主键上的范围查询应该在Spark SQL中工作。它们不会被下推到Cassandra,Spark将获取所有数据并在Spark端对其进行过滤。

Cassandra不允许对分区键进行范围查询

处理此问题的一种方法是更改模式,使时间戳值成为集群列。要使其工作,您需要引入一个sentinel列作为分区键。有关更详细的答案,请参见此问题:


另一种方法是让Spark进行过滤。主键上的范围查询应该在Spark SQL中工作。它们不会被推到Cassandra,Spark将获取所有数据并在Spark端对其进行过滤。

下次请先在搜索中投入一点资金,这样下次您通常会找到答案。请先在搜索中投入一点资金,这样您通常会找到有意义的答案。SparkSQL过滤是否可以表示为
where
子句,即使它不会被按下?还有一个问题:Cassandra不允许通过
token()
对分区键进行范围查询吗?这就是Spark在后台所做的对吧?这是有道理的。SparkSQL过滤是否可以表示为
where
子句,即使它不会被按下?还有一个问题:Cassandra不允许通过
token()
对分区键进行范围查询吗?这就是Spark在后台所做的,对吗?