您好我是很新的火花和Scala,在這裏,我面臨着將數據保存到Cassandra的一些問題,下面是我的方案的用戶定義的對象保存JavaList卡桑德拉表使用火花背景
1)我得到的名單(說用戶對象,其中包含firstName,lastName等..)從我的java類到scala類,到這裏它的罰款我能夠訪問用戶對象,並能夠打印其內容
2)現在我想保存usersList進入卡桑德拉表使用火花上下文,我已經經歷了很多例子,但我看到創建的每個地方Seq與我們的caseClass和硬編碼值,然後保存到卡珊德拉,我已經試過了,對我工作的罰款如下
import scala.collection.JavaConversions._
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import com.datastax.spark.connector._
import java.util.ArrayList
object SparkCassandra extends App {
val conf = new SparkConf()
.setMaster("local[*]")
.setAppName("SparkCassandra")
//set Cassandra host address as your local address
.set("spark.cassandra.connection.host", "127.0.0.1")
val sc = new SparkContext(conf)
val usersList = Test.getUsers
usersList.foreach(x => print(x.getFirstName))
val collection = sc.parallelize(Seq(userTable("testName1"), userTable("testName1")))
collection.saveToCassandra("demo", "user", SomeColumns("name"))
sc.stop()
}
case class userTable(name: String)
但在這裏我的要求是從我usersList而不是hardcoaded值,或任何其他方式使用動態值做到這一點。
有多少用戶?這些值在哪裏存儲? –
將有高達20k的用戶,actullay我從其他一些javaClass獲得該列表,並需要存儲在cassandra表 –
只要你並行,它應該工作。如何創建一個包含「userList」中的「userTable」的所有案例類對象並並保存並保存的Seq? – Sreekar