Spark JSON文本字段到RDD,具有空值

时间:2017-03-02 10:25:33

标签: apache-spark spark-cassandra-connector

我有一张名为table

的字段的cassandra表
  

[app,ts,data]

我在cassandra表的数据字段中有几个JSON对象,我需要独立计算每个对象

val conf = new SparkConf().setAppName("datamonth")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
val rdd = sc.cassandraTable[(String, String, String)]("datam", "data_month")
val jsons = rdd.map(_._3)
val jsonSchemaRDD = sqlContext.jsonRDD(jsons)
jsonSchemaRDD.registerTempTable("testjson")
sqlContext.sql("SELECT * FROM testjson where .... ").collect 

因为NULL值我得到了这个错误

  

17/03/02 12:00:49错误执行程序:阶段7.0中的任务0.0中的异常(TID 24)java.lang.NullPointerException:datam.data_month中列数据的意外空值。如果要接收null来自Cassandra的值,请将列类型包装到Option中或使用JavaBeanColumnMapper

我该怎么办?我是Spark和Cassandra的新手,并且不知道如何将列类型包装到Option中。

0 个答案:

没有答案