Hallo mit (sage User Objects, die firstName, lastName etc ..) von meiner Java-Klasse zu scala Klasse und bis hier ist es fein ich bin in der Lage auf Benutzer-Objekt zugreifen und in der Lage, seinen InhaltSaving JavaList zu Cassandra Tabelle Funken Zusammenhang
2) Jetzt möchte ich diese Benutzerliste speichern in Cassandra Tabelle mit Funken Kontext, ich habe durch viele Beispiele gegangen, aber jeder, wo ich sehe Seq mit unserem caseClass und fest codierten Werte und dann auf cassandra Speichern, ich habe für mich das und arbeiten gut versucht, wie unten
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)
Aber hier meine Forderung ist dynamisch Werte von meinem usersList statt hardcoaded Werte, oder jede andere Art und Weise zu verwenden, um Dies erreichen.
Wie viele Benutzer? Wo werden diese Werte gespeichert? –
Es wird bis zu 20k User geben, actullay Ich bekomme diese Liste von einer anderen JavaClass und muss in Cassandra Tabelle speichern –
Solange Sie parallelisieren, sollte es funktionieren. Wie wäre es mit einem Seq, der alle Case-Klassenobjekte von "userTable" aus "usersList" enthält und parallelisiert und speichert? – Sreekar