gpt4 book ai didi

java - Spark 和 Cassandra : requirement failed: Columns not found in class com. datastax.spark.connector.japi.CassandraRow : [mycolumn. ..]

转载 作者:行者123 更新时间:2023-12-01 18:05:39 25 4
gpt4 key购买 nike

我有一个 CassandraRow 对象,其中包含行的值。我从一张 table 上读到的。我想将同一个对象写入另一个表。但后来我得到了这个错误:

requirement failed: Columns not found in class com.datastax.spark.connector.japi.CassandraRow: [myColumn1, myColumns2, ...]

我尝试通过创建一个 Map 并将其传递到函数中来传递我自己的映射。这是我的代码:

CassandraRow row = fetch();

Map<String, String> mapping = Map.of("myColumn1", "myColumn1", "myColumns2", "myColumns2"....);

JavaSparkContext ctx = new JavaSparkContext(conf);

JavaRDD<CassandraRow> insightRDD = ctx.parallelize(List.of(row));

CassandraJavaUtil.javaFunctions(insightRDD).writerBuilder("mykeyspace", "mytable",
CassandraJavaUtil.mapToRow(CassandraRow.class, mapping)).saveToCassandra(); //I also tried without mapping

感谢任何帮助。我尝试过 POJO 方法并且它有效。但我不想仅限于创建 POJO。我想要一种适用于任何表和任何行的通用方法。

最佳答案

我找不到使用 Apache Spark 推广我的解决方案的方法。因此,我使用 Datastax Java Driver for Apache Cassandra 并编写 SQL 查询。这对我来说足够通用了。

关于java - Spark 和 Cassandra : requirement failed: Columns not found in class com. datastax.spark.connector.japi.CassandraRow : [mycolumn. ..],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60563870/

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