Почему Apache Spark выполняет фильтры на клиенте

Будучи новичком в Apache Spark, столкнулся с проблемой получения данных Cassandra о Spark.

List<String> dates = Arrays.asList("2015-01-21","2015-01-22");
CassandraJavaRDD<A> aRDD = CassandraJavaUtil.javaFunctions(sc).
                    cassandraTable("testing", "cf_text",CassandraJavaUtil.mapRowTo(A.class, colMap)).
                    where("Id=? and date IN ?","Open",dates);

Этот запрос не фильтрует данные на сервере кассандры. Пока этот оператор java выполняет его загрузку памяти и, наконец, выбрасывает искру исключение java.lang.OutOfMemoryError. Запрос должен отфильтровывать данные на сервере cassandra, а не на стороне клиента, как указано наhttps://github.com/datastax/spark-cassandra-connector/blob/master/doc/3_selection.md.

Хотя я выполняю запрос с фильтрами на cassandra cqlsh, он работает нормально, но выполнение запроса без фильтра (предложение where) дает ожидаемое время ожидания. Таким образом, ясно, что искра не применяет фильтры на стороне клиента.

SparkConf conf = new SparkConf();
            conf.setAppName("Test");
            conf.setMaster("local[8]");
            conf.set("spark.cassandra.connection.host", "192.168.1.15")

Почему фильтры применяются на стороне клиента и как их можно улучшить, чтобы применять фильтры на стороне сервера.

Как мы могли настроить кластер искры на вершине кластера Кассандра на платформе Windows ??

Ответы на вопрос(3)

Ваш ответ на вопрос