首页 > 解决方案 > 如何使用火花将scala对象存储到cassandra表上

问题描述

我有一个 Scala 模型类,我想将其对象存储到 Cassandra 表中。Cassandra 和 Scala 类变量声明的列名顺序不匹配。

Cassandra 表中还有一个额外的列,它在 Scala 类变量列表中没有,(tr_tag Text) 但我无法做到。

没有插入数据。请帮我解决这个问题。

模型scala类:

class THData() extends Serializable{
     var s_id: java.lang.Long = null
     var a_id: String = null
     var s_typ: String= null
     var s_dt: java.util.Date= null
     var t_s_id: String= null
     var a_s_no: String= null
     var avg_sp: java.lang.Float = null
}

将对象插入 cassandra 的方法:

def insert(data: THData) {
     var em=sc.parallelize(Seq(data))
     em.saveToCassandra("ap", "t_s_data")
}

Cassndra 表的列名如下:

sid,aid,styp,sdt,tsid,asno,avgsp,tr_tag

标签: scalaapache-sparkcassandraspark-cassandra-connector

解决方案


我认为您应该按照文档中的说明修改列名:

在此处输入图像描述


推荐阅读