我正在运行intellij ide的代码。我的spark cassandra集群有3个节点。cassandra节点和spark worker在同一台机器上
val sparkConf = new SparkConf()
.set(s"spark.sql.catalog.mycatalog", "com.datastax.spark.connector.datasource.CassandraCatalog")
.set("spark.sql.extensions", "com.datastax.spark.connector.CassandraSparkExtensions")
.set("spark.sql.catalog.casscatalog", "com.datastax.spark.connector.datasource.CassandraCatalog");
val sc = SparkSession.builder()
.config(sparkConf)
.master("spark://master")
.withExtensions(new CassandraSparkExtensions)
.getOrCreate();
val table = sc.sql("select * from table where primarykeyA = 1");
table.show(10)
现在,当我正常运行时,上面的查询将以毫秒为单位,正如我提到的分区键
期望此查询只命中具有分区数据且应返回的工作节点中的一个
不知何故,当它运行时,它会转到所有工作节点,这表明datastax优化不到位
有没有一种方法可以提交以下参数——包com.datastax。spark:spark-cassandra-connector_2.12:3.0.0-beta通过代码
暂无答案!
目前还没有任何答案,快来回答吧!