gpt4 book ai didi

scala - 使用 scala 转换 Spark 中的数据时,多个构造函数具有相同数量的参数异常

转载 作者:行者123 更新时间:2023-12-01 16:23:35 27 4
gpt4 key购买 nike

下面是代码

    def findUniqueGroupInMetadata(sc: SparkContext): Unit = {
val merchantGroup = sc.cassandraTable("local_pb", "merchant_metadata").select("group_name")

try {
val filterByWithGroup = merchantGroup.filter {
row =>
row.getStringOption("group_name") match {
case Some(s: String) if (s != null) => true
case None => false
}
}.map(row => row.getStringOption("group_name").get.capitalize)


//filterByWithGroup.take(15).foreach(data => println("merchantGroup => " + data))
filterByWithGroup.saveToCassandra("local_pb", "merchant_group", SomeColumns("group_name"))
} catch {
case e: Exception => println(e.printStackTrace())

}

}

异常=>

java.lang.IllegalArgumentException: Multiple constructors with the same number of parameters not allowed.
at com.datastax.spark.connector.util.Reflect$.methodSymbol(Reflect.scala:16)
at com.datastax.spark.connector.util.ReflectionUtil$.constructorParams(ReflectionUtil.scala:63)
at com.datastax.spark.connector.mapper.DefaultColumnMapper.<init>(DefaultColumnMapper.scala:45)
at com.datastax.spark.connector.mapper.LowPriorityColumnMapper$class.defaultColumnMapper(ColumnMapper.scala:47)
at com.datastax.spark.connector.mapper.ColumnMapper$.defaultColumnMapper(ColumnMapper.scala:51)

最佳答案

我在查看了一些博客后找到了答案。

当我将 RDD[String] 转换为 RDD[Tuple1[String]] 时,一切都很顺利。所以基本上为了将数据保存到 Cassandra,数据需要是 RDD[TupleX[String]] 类型,这里 x 可以是 1,2,3... 或数据可以是 RDD[SomeCaseClass]

关于scala - 使用 scala 转换 Spark 中的数据时,多个构造函数具有相同数量的参数异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41031286/

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