【发布时间】:2015-11-05 05:24:10
【问题描述】:
我正在使用datastax's connector 连接到 cassandra。
下面是我使用的代码,
import org.apache.spark.sql.SQLContext
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import com.datastax.spark.connector._
val sqlContext = new SQLContext(sc)
val conf=new SparkConf(true)
.set("spark.cassandra.connection.host","127.0.0.1")
.set("spark.cassandra.auth.username","the_username")
.set("spark.cassandra.auth.password","the_password")
val sc=new SparkContext("local","the_keyspace",conf)
val table_1 = sc.cassandraTable("the_keyspace","table_1")
val table_2 = sc.cassandraTable("the_keyspace","table_2")
现在,将此表公开为 RDD 的方法是使用案例类作为占位符,如下所示
case class Person(name: String, age: Int)
sc.cassandraTable[Person](“test”, “persons”).registerAsTable(“persons”)
这很好用,但我在每个表中有大约 50 多列,在案例类中输入它们并识别它们的类型真的很痛苦。
有没有办法克服这个问题?我习惯于使用 databricks-csv 将 csv 文件作为表来获取,我可以将它们注册为表并在不使用案例类占位符的情况下对其运行查询,这里是否有类似的用例。
如果没有,如果有一些生成器可以用来自动生成这些案例类,那将会很有帮助。
【问题讨论】:
标签: scala apache-spark cassandra bigdata nosql