我开始使用apache spark for cassandra . 我根据documentation设置了主奴隶火花

我有一个5节点的Cassandra集群 . 使用datastax的java连接器,我在示例下面的代码可以正常工作 .

在下面的代码中,我们只提到了一个cassandra集群的spark master和contact point .

SparkConf conf = new SparkConf(true)
                .set("spark.cassandra.connection.host", "192.168.10.41")
                .set("spark.cassandra.auth.username", "cassandra")
                .set("spark.cassandra.auth.password", "cassandra");

        conf.setAppName("Java API demo");
        conf.setMaster("local[4]");

        JavaSparkContext sc = new JavaSparkContext(conf);

enter image description here
根据上述数据集的架构图,spark worker必须与cassandra节点位于同一位置,并且比率为1:1 .

  • 如果spark worker和cassandra节点托管在不同的主机上有什么意义?这只是网络延迟吗?

  • Worker 如何知道从哪个cassandra节点获取数据,因为我没有看到我们在任何地方配置它?

  • cassandra节点应该激发 Worker 比例为1:1吗?