2017-02-10 2 views
1

У меня есть таблица в Кассандре и один столбец в таблице имеют тип Double, со значением 0.Спарк преобразует 0 в нуль

Когда я пытаюсь прочитать эти данные с помощью искры:

val dataFromCassandra = sqlContext.read 
    .cassandraFormat("table_name", SomeKeyspace) 
    .load() 

он возвращает значение вместо 0.

, пожалуйста, помогите !!!

+0

с помощью искры 1.6 – Orion

+0

вы можете показать тип этот столбец в dataframe (результат 'dataFromCassandra.printSchema()')? –

+0

тип - двойной. – Orion

ответ

3

Не знаком с источником данных Cassandra, но вы можете заменить все null S определенного столбца с некоторой постоянной величиной (например 0) с использованием coalesce:

df.show() 
// +---+-----+ 
// | id|value| 
// +---+-----+ 
// | 1| null| 
// | 2| null| 
// +---+-----+ 

df.withColumn("value", coalesce($"value", lit(0.0))).show() 
// +---+-----+ 
// | id|value| 
// +---+-----+ 
// | 1| 0.0| 
// | 2| 0.0| 
// +---+-----+ 
+0

thx, попробую, и скажу вам результат – Orion

+0

это помогло, tnx you – Orion

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