2017-04-16 3 views
3

Ich habe zwei Cassandra-Knoten und entwickle eine Java-Spark-Anwendung.Zugriff auf Cassandra-Knoten in Spark

Ich habe einen Spark Master und zwei Slaves. Der folgende Code wird zum Verbinden mit einem einzelnen Cassandra-Knoten verwendet:

sparkConf.set("spark.cassandra.connection.host", "server"); 

Wie kann ich weitere Cassandra-Knoten hinzufügen?

Antwort

2

Die documentation ist ganz klar:

new SparkConf(true) 
    .set("spark.cassandra.connection.host", "192.168.123.10") 

Und gerade unter:

"(127.0.0.1,127.0.0.2") Mehrere Hosts können Sie sich mit der eine durch Kommata getrennte Liste übergeben werden". Dies sind nur die ersten Kontaktpunkte, alle Knoten im lokalen DC werden beim Verbinden verwendet. "

Mit anderen Worten, Sie müssen nur eine Verbindung zum Spark-Master herstellen, der die anderen Maschinen im Cluster kennt r durch den Ressourcenmanager. Die durch Kommas getrennte Liste ist nützlich, wenn Sie eine Verbindung zu mehreren Clustern herstellen möchten.

2

Sie könnten dies versuchen, wenn Sie scala verwenden. Ich konnte jedoch nichts über Python finden.

val connectorToClusterOne = CassandraConnector(sc.getConf.set("spark.cassandra.connection.host", "127.0.0.1")) 
val connectorToClusterTwo = CassandraConnector(sc.getConf.set("spark.cassandra.connection.host", "127.0.0.2")) 


implicit val c = connectorToClusterOne 
sc.cassandraTable("ks","tab") 

implicit val c = connectorToClusterTwo 
rddFromClusterOne.saveToCassandra("ks","tab") 

Viel Glück !!

Verwandte Themen