我在两个不同的主机中有两个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的配置,如何在那里写?
答案 0 :(得分:0)
从docs开始,有一个方法
WriterBuilder
您可以调用它来传递具有目标群集信息的其他CassandraConnector对象。这会返回一个新的saveToCassandra
,您可以在其上调用{{1}}。