为什么我们不在 Spark-Cassandra-Connector 中定义一个 ReaderBuilder 来从 cassandra DB 读取数据
Why don't we have a ReaderBuilder defined in Spark-Cassandra-Connector for reading data from cassandra DB
我看到了 spark-cassandra-connector 的 github 回购协议,但我没有发现 ReaderBuilder 实现了它们,但实现了 WriterBuilder,任何人都可以帮助我,因为我想从 cassandra DB 读取数据使用 CassandraConnector 参考。
我想在同一个 SparkContext 中连接两个 cassandra 集群,我想从它们两个读取数据,所以我需要一个 ReaderBuilder 来从我的第二个 cassandra 集群读取数据,我也在使用 java这里的语言。
CassandraConnector eventsConnector = CassandraConnector.apply(sc.getConf().set("spark.cassandra.connection.host", "192.168.36.234"));
我的第一个建议是不要在 Java 中使用 RDD。 Java 中的 RDD 比 Scala 中的要难得多,它也是旧的 api。我建议改用 DataFrames。这些提供了不同数据源之间更清晰的接口以及自动优化和其他好处。
现在,如果您不能使用 DataFrames,您只需创建 CassandraJavaRDD,然后使用 "withConnector" 或 "withReadConf" 更改读取配置。
类似
val cluster2 = CassandraConnector eventsConnector =
CassandraConnector.apply(
sc.getConf()
.set("spark.cassandra.connection.host", "192.168.36.234"));
javaFunctions(sc).cassandraTable(ks, "test_table").withConnector(cluster2).collect()
}
不需要构建器,因为RDD本身就很流畅API。由于写入是在调用结束时立即发生的,因此它需要一个构建器。
我看到了 spark-cassandra-connector 的 github 回购协议,但我没有发现 ReaderBuilder 实现了它们,但实现了 WriterBuilder,任何人都可以帮助我,因为我想从 cassandra DB 读取数据使用 CassandraConnector 参考。
我想在同一个 SparkContext 中连接两个 cassandra 集群,我想从它们两个读取数据,所以我需要一个 ReaderBuilder 来从我的第二个 cassandra 集群读取数据,我也在使用 java这里的语言。
CassandraConnector eventsConnector = CassandraConnector.apply(sc.getConf().set("spark.cassandra.connection.host", "192.168.36.234"));
我的第一个建议是不要在 Java 中使用 RDD。 Java 中的 RDD 比 Scala 中的要难得多,它也是旧的 api。我建议改用 DataFrames。这些提供了不同数据源之间更清晰的接口以及自动优化和其他好处。
现在,如果您不能使用 DataFrames,您只需创建 CassandraJavaRDD,然后使用 "withConnector" 或 "withReadConf" 更改读取配置。
类似
val cluster2 = CassandraConnector eventsConnector =
CassandraConnector.apply(
sc.getConf()
.set("spark.cassandra.connection.host", "192.168.36.234"));
javaFunctions(sc).cassandraTable(ks, "test_table").withConnector(cluster2).collect()
}
不需要构建器,因为RDD本身就很流畅API。由于写入是在调用结束时立即发生的,因此它需要一个构建器。