Dse spark从集群中提取数据并加载到另一个集群
答
您可以使用DSE spark从Cluster1加载到Cluster2。 唯一的先决条件是在已加载数据的群集2中创建密钥空间和表。
对于下列设置:
源群集
群集1:
KEYSPACE:rrtest
表:rrexample
目标群集
群集2:
密钥空间:测试
表:例如
现在,这里所述第一步骤是创建keyspaces和表。 说出表具有以下说明(从CQL壳创建)
在簇1:
CREATE TABLE rrtest.rrexample
(
username text PRIMARY KEY,
password text,
state text
)
在簇2:
CREATE TABLE test.example
(
username text PRIMARY KEY,
password text,
state text
)
Scala代码迁移到Cluster2中
************ Load from Cluster 1*************
import com.datastax.spark.connector.cql._
import java.net.InetAddress
val myrdd = { implicit val src = CassandraConnector(Set(InetAddress.getByName("<ip : host1>"))); sc.cassandraTable("rrtest", "rrexample").select("username", "password", "state") }
************ Migrate to Cluster 2************
{ implicit val dst = CassandraConnector(Set(InetAddress.getByName("<ip:host2>"))); myrdd.saveToCassandra("test", "example") }