gpt4 book ai didi

java - 通过 Java + Spark + SparkSession 在 Cassandra 表中插入/更新行的最佳方法是什么

转载 作者:行者123 更新时间:2023-11-30 06:51:18 25 4
gpt4 key购买 nike

这是通过Java + Spark + SparkSession从cassandra表中获取数据的方法:

SparkSession spark = SparkSession
.builder()
.appName("JavaDemoDataSet")
.config("spark.sql.warehouse.dir", "/file:C:/temp")
.config("spark.cassandra.connection.host", "127.0.0.1")
.config("spark.cassandra.connection.port", "9042")
.master("local[2]")
.getOrCreate();

Dataset<Row> dataset = spark.read()
.format("org.apache.spark.sql.cassandra")
.options(new HashMap<String, String>() {
{
put("keyspace", "chat");
put("table", "dictionary");
}
})
.load()
.filter("value_id BETWEEN 1 AND 5");

但是当我研究如何添加或修改此表中的行(至少 1 行)时 - 我找不到最好的方法。例如,我正在使用 GUI 开发简单的应用程序,我需要向“字典”表添加一个新值。因此,在这种情况下,从我的角度来看——我不需要数据集来做到这一点。

当我研究如何通过 SparkSession 添加一行时 - 我找不到 Java+Spark+Sparksession 示例如何做到这一点。我当然可以通过 Statement 使用 CQL 语句来做到这一点,但是哪种方法最适合更新或添加 1 或 2 行?尤其是当我使用 SparkSession 阅读它们时。

如果可能的话,我会非常感谢示例(甚至是超链接,我研究了很多,但可能我错过了一些重要的东西),因为我对所有这些都很陌生。

谢谢!

最佳答案

我强烈建议不要使用 Spark 进行单行更新。内置的连接器方法面向大量数据,对于单行更改可能效率非常低。您最好直接使用驱动程序或使用 CassandraConnector 接口(interface)。

https://github.com/datastax/spark-cassandra-connector/blob/master/doc/1_connecting.md#connecting-manually-to-cassandra

关于java - 通过 Java + Spark + SparkSession 在 Cassandra 表中插入/更新行的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40324153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com