我有兩個Cassandra節點,我正在開發一個Java-Spark應用程序。在Spark中訪問Cassandra節點
我有一個Spark Master和兩個奴隸。以下代碼用於連接到單個Cassandra節點:
sparkConf.set("spark.cassandra.connection.host", "server");
如何添加其他Cassandra節點?
我有兩個Cassandra節點,我正在開發一個Java-Spark應用程序。在Spark中訪問Cassandra節點
我有一個Spark Master和兩個奴隸。以下代碼用於連接到單個Cassandra節點:
sparkConf.set("spark.cassandra.connection.host", "server");
如何添加其他Cassandra節點?
的documentation是相當清楚的:
new SparkConf(true)
.set("spark.cassandra.connection.host", "192.168.123.10")
僅低於:
「(127.0.0.1,127.0.0.2" )多臺主機可以使用逗號分隔的列表傳遞」。這些僅是初始接觸點,本地DC中的所有節點都將在連接時使用。「
換句話說,您只需連接到Spark主機,該主機瞭解羣集中的其他機器通過資源管理器。當您想要連接到多個羣集時,逗號分隔列表很有用。
如果您使用scala,您可以嘗試這樣做。雖然我找不到任何關於Python的東西。
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")
祝您好運!