如何将数据从一个Cassandra数据库迁移到另一个?

时间:2016-10-05 13:25:49

标签: java apache-spark cassandra

我在两个不同的主机中有两个Cassandra数据库。两者都有完全相同的表。如何将数据从一个迁移到另一个?

SparkConf sparkConf = new SparkConf().setAppName(App.APP_NAME)
    .set("spark.cassandra.connection.host", App.CASSANDRA_HOST)
    .set("spark.cassandra.auth.username", "user")            
    .set("spark.cassandra.auth.password", "pass")
    .set("spark.cleaner.ttl", "3600");
SparkContext sparkContext = new SparkContext(sparkConf);

JavaRDD<EventLog> logs = javaFunctions(sparkContext)
    .cassandraTable("xyz", "event_log", mapRowTo(EventLog.class));
javaFunctions(logs).writerBuilder("xyz", "event_log", mapToRow(EventLog.class)).saveToCassandra();
sparkContext.stop();

在我的Java代码中,我已从原始数据库中读取并希望使用writerBuilder将其写入另一个数据库。我在哪里放置第二个DB的配置,如何在那里写?

1 个答案:

答案 0 :(得分:0)

docs开始,有一个方法

WriterBuilder

您可以调用它来传递具有目标群集信息的其他CassandraConnector对象。这会返回一个新的saveToCassandra,您可以在其上调用{{1}}。