Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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 apachespark读取预先准备好的语句中的Cassandra混合列_Apache Spark_Cassandra - Fatal编程技术网

Apache spark apachespark读取预先准备好的语句中的Cassandra混合列

Apache spark apachespark读取预先准备好的语句中的Cassandra混合列,apache-spark,cassandra,Apache Spark,Cassandra,使用ApacheSpark从cassandra中读取 sparkSession.sqlContext().read() .format("org.apache.spark.sql.cassandra") .option("table", "information_package") .option("keyspace", "streaming_keyspace")

使用ApacheSpark从cassandra中读取

       sparkSession.sqlContext().read()
                .format("org.apache.spark.sql.cassandra")
                .option("table", "information_package")
                .option("keyspace", "streaming_keyspace")
                .load().show(false);
卡桑德拉的火花性质

spark.cassandra.connection.host=localhost
spark.cassandra.connection.keep_alive_ms=600000000
spark.cassandra.connection.timeout_ms=10000
spark.cassandra.read.timeout_ms=220000
表信息_包大约有20列

进入卡桑德拉日志:

由于缓存限制已达到(15 MB),准备好的语句在最后一分钟被丢弃。

请从cassandra中选择:

select * from system.prepared_statements
得到:

SELECT "col1", "col2", "col3" FROM "streaming_keyspace"."information_package" WHERE token("col1") <= ?   ALLOW FILTERING
SELECT "col1", "col2", "col3" FROM "streaming_keyspace"."information_package" WHERE token("col1") > ?   ALLOW FILTERING

SELECT "col2", "col1", "col3" FROM "streaming_keyspace"."information_package" WHERE token("col1") <= ?   ALLOW FILTERING
SELECT "col2", "col1", "col3" FROM "streaming_keyspace"."information_package" WHERE token("col1") > ?   ALLOW FILTERING

SELECT "col3", "col2", "col1" FROM "streaming_keyspace"."information_package" WHERE token("col1") <= ?   ALLOW FILTERING
SELECT "col3", "col2", "col1" FROM "streaming_keyspace"."information_package" WHERE token("col1") > ?   ALLOW FILTERING

SELECT "col3", "col1", "col2" FROM "streaming_keyspace"."information_package" WHERE token("col1") <= ?   ALLOW FILTERING
SELECT "col3", "col1", "col2" FROM "streaming_keyspace"."information_package" WHERE token("col1") > ?   ALLOW FILTERING
...
从“streaming_keyspace”中选择“col1”、“col2”、“col3”。“information_package”中的token(“col1”)?允许过滤
从“流式处理”键空间中选择“col2”、“col1”、“col3”。“信息包”中的令牌(“col1”)?允许过滤
从“流媒体_键空间”中选择“col3”、“col2”、“col1”。“信息_包”中的令牌(“col1”)?允许过滤
从“流式处理”键空间中选择“col3”、“col1”、“col2”。“信息包”中的令牌(“col1”)?允许过滤
...
我看到单个select请求的列混合。问题是,为什么以及谁在为卡桑德拉的准备好的声明混合专栏。主要的问题是,对于停止混合柱,我应该改变什么属性

upd 混合从列数=5开始

已准备语句在最后一分钟被丢弃,因为已达到缓存限制(15 MB)

这意味着您正在耗尽准备好的语句缓存。这通常是由于创建了具有具体值的准备好的语句。如果出现这种情况,您可以通过检查
system.prepared\u语句中保存的语句并查找重复语句来进行调试

至于列的混合,这取决于您如何准备语句。从所描述的内容来看,似乎语句正在被多次重新准备,而没有对语句中使用的列进行显式排序


您需要与您定义准备语句的方式保持一致。

您使用的Spark Cassandra Connector是什么版本的?Spark-Cassandra-Connector_2.11-2.4.0