2

Я использую Спарк версии 1.6.2, Спарк-Cassandra Connector 1.6.0, Cassandra-Driver-Core 3.0.3WriteConf искрения Кассандры Connector используется или не

Я пишу простой искровой работу который я пытаюсь вставить некоторые строки в таблицу в Кассандре. Фрагмент кода использовался:

val sparkConf = (new SparkConf(true).set("spark.cassandra.connection.host", "<Cassandra IP>") 
.set("spark.cassandra.auth.username", "test") 
.set("spark.cassandra.auth.password", "test") 
.set("spark.cassandra.output.batch.size.rows", "1")) 

val sc = new SparkContext(sparkConf) 
val cassandraSQLContext = new CassandraSQLContext(sc) 
cassandraSQLContext.setKeyspace("test") 
val query = "select * from test" 
val dataRDD = cassandraSQLContext.cassandraSql(query).rdd 

val addRowList = (ListBuffer(
Test(111, 10, 100000, "{'test':'0','test1':'1','others':'2'}"), 
Test(111, 20, 200000, "{'test':'0','test1':'1','others':'2'}") 
)) 

val insertRowRDD = sc.parallelize(addRowList) 
insertRowRDD.saveToCassandra("test", "test") 

Test() случай класс

Теперь, я передал output.batch.size.rows параметров WriteConf при создании объекта sparkConf. Я ожидаю, что этот код будет писать 1 строку в пакете за раз в Кассандре. Я не получаю никакого метода, через который я могу перекрестно проверить, что конфигурация записи партии в cassandra не является стандартной по умолчанию, а той, которая была передана в фрагменте кода.

Я не мог найти ничего в Cassandra cassandra.log, system.log и debug.log

Так может кто-нибудь помочь мне с методом креста подтверждающего WriteConf используется искровой Кассандра Connector писать партию в Кассандре?

ответ

0

Есть две вещи, которые вы можете сделать, чтобы убедиться, что ваша настройка установлена ​​правильно.

  1. Сначала вы можете вызвать метод, который создает WriteConf

    WriteConf.fromSparkConf(sparkConf) 
    

    В результате объект может быть проверен, чтобы убедиться, что все значения, что вы хотите. Это аргумент по умолчанию для SaveToCassandra

  2. Вы можете явно пропускать WriteConf к saveToCassandraMethod

    saveAsCassandraTable(keyspace, table, writeConf = WriteConf(...)) 
    
+0

Не знаю, как назвать '' saveToCassandraTable' с WriteConf', выглядит он переопределяет настройки из ' SparkConf'. Как установить определенные параметры при наследовании остальной части от Spark? –

+1

WriteConf.fromSparkConf (sparkConf) .copy (параметрToChange = newValue) – RussS

+0

Hah! case class 'copy' просто добавлен в мою лексику Scala! Благодаря :) –

Смежные вопросы