Как установить связь зоны / постоянного тока с Кассандрой от искры? - PullRequest
1 голос
/ 25 сентября 2019

Я использую spark-sql 2.4.1, spark-cassandra-connector_2.11-2.4.1.jar и java8.В то время как я пытаюсь получить данные из таблицы, я сталкиваюсь с

java.io.IOException: Failed to write statements to keyspace1.model_vals. The
latest exception was
  An unexpected error occurred server side on cassandra-node1: com.google.common.util.concurrent.UncheckedExecutionException: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.RuntimeException: org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out - received only 0 responses.

Итак, как установить соединение зоны / постоянного тока с Cassandra db из кода искры?

YML

существующий

spring:
  data:
      cassandra:
        keyspace-name: raproduct
        contact-points:
                    - cassandra-node1
                    - cassandra-node2
        port: 9042 

Изменен на

spring:
  data:
      cassandra:
        connection:
          local_dc: southeast-1
        keyspace-name: raproduct
        contact-points:
                    - cassandra-node1
                    - cassandra-node2
        port: 9042 

Вопрос

Но не отражается / не применяется измененный "local_dc".Как это сделать в Spring-data?

1 Ответ

4 голосов
/ 25 сентября 2019

Проверьте в документации Spark Connector и в справочнике по конфигурации - Параметры подключения Cassandra .Казалось бы, это можно сделать, установив свойство spark.cassandra.connection.local_dc в конфигурации соединения:

val conf = new SparkConf(true)
        .set("spark.cassandra.connection.host", "192.168.1.10")
        .set("spark.cassandra.auth.username", "flynn")            
        .set("spark.cassandra.auth.password", "reindeerFlotilla82")
        .set("spark.cassandra.connection.local_dc", "encom_west1_dc")

val sc = new SparkContext("spark://192.168.1.133:7077", "test", conf)

Не уверен, как выглядит код конфигурации вашего соединения, но попробуйте установить это свойство spark.cassandra.connection.local_dc и посмотрите, гдечто тебя заводит.

...