2017-02-10 3 views
1

ich eine Tabelle in Cassandra haben auf null und eine Spalte in dieser Tabelle haben einen Typ Double, mit dem Wert 0Funken wandelt 0

Wenn ich versuche, diese Daten zu lesen Funken mit:

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

es gibt null werte statt 0.

bitte hilfe !!!

+0

mit Funken 1.6 – Orion

+0

können Sie die Art von anzeigen diese Spalte im Dataframe (das Ergebnis von 'dataFromCassandra.printSchema()')? –

+0

Typ ist doppelt. – Orion

Antwort

3

nicht vertraut mit dem Cassandra Datenquelle, aber Sie können alle null s einer bestimmten Spalte mit einer gewissen konstanten Wert (zB 0) ersetzen coalesce mit:

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, ich werde versuchen, und Ihnen das Ergebnis – Orion

+0

zu sagen, es half, tnx Sie – Orion