【问题标题】:Spark and Cassandra: requirement failed: Columns not found in class com.datastax.spark.connector.japi.CassandraRow: [mycolumn...]Spark 和 Cassandra:要求失败:在类 com.datastax.spark.connector.japi.CassandraRow 中找不到列:[mycolumn...]
【发布时间】:2020-06-19 04:15:45
【问题描述】:

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

要求失败:在类 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。我想要一种适用于任何表格和任何行的通用方法。

【问题讨论】:

    标签: java apache-spark cassandra spark-cassandra-connector


    【解决方案1】:

    我找不到使用 Apache Spark 概括我的解决方案的方法。所以我使用 Datastax Java Driver for Apache Cassandra 并编写 SQL 查询。这对我来说已经足够通用了。

    【讨论】:

      猜你喜欢
      • 2019-09-18
      • 2018-07-08
      • 2018-01-05
      • 1970-01-01
      • 2021-10-14
      • 1970-01-01
      • 2021-11-25
      • 2021-02-10
      • 2016-11-11
      相关资源
      最近更新 更多