spark cassandra集成不使用c*优化

fdx2calv  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(211)

我正在运行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通过代码

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题