值reduceByKey不是org.apache.spark.rdd.RDD的成员

2023-11-21

很伤心。我的spark版本是2.1.1,Scala版本是2.11

import org.apache.spark.SparkContext._
import com.mufu.wcsa.component.dimension.{DimensionKey, KeyTrait}
import com.mufu.wcsa.log.LogRecord
import org.apache.spark.rdd.RDD

object PV {

//
  def stat[C <: LogRecord,K <:DimensionKey](statTrait: KeyTrait[C ,K],logRecords: RDD[C]): RDD[(K,Int)] = {
    val t = logRecords.map(record =>(statTrait.getKey(record),1)).reduceByKey((x,y) => x + y)

我收到这个错误

at 1502387780429
[ERROR] /Users/lemanli/work/project/newcma/wcsa/wcsa_my/wcsavistor/src/main/scala/com/mufu/wcsa/component/stat/PV.scala:25: error: value reduceByKey is not a member of org.apache.spark.rdd.RDD[(K, Int)]
[ERROR]     val t = logRecords.map(record =>(statTrait.getKey(record),1)).reduceByKey((x,y) => x + y)

定义了一个特质

trait KeyTrait[C <: LogRecord,K <: DimensionKey]{
  def getKey(c:C):K
}

已编译,谢谢。

 def stat[C <: LogRecord,K <:DimensionKey : ClassTag : Ordering](statTrait: KeyTrait[C ,K],logRecords: RDD[C]): RDD[(K,Int)] = {
    val t = logRecords.map(record =>(statTrait.getKey(record),1)).reduceByKey((x,y) => x + y)

键需要覆盖 Ordering[T]。

  object ClientStat extends KeyTrait[DetailLogRecord, ClientStat] {
      implicit val c

lientStatSorting = new Ordering[ClientStat] {
    override def compare(x: ClientStat, y: ClientStat): Int = x.key.compare(y.key)
  }

      def getKey(detailLogRecord: DetailLogRecord): ClientStat = new ClientStat(detailLogRecord)
    }

这来自于一般使用pair rdd 函数。这reduceByKey方法实际上是一个方法PairRDDFunctions类,它有一个隐式转换RDD:

implicit def rddToPairRDDFunctions[K, V](rdd: RDD[(K, V)])
    (implicit kt: ClassTag[K], vt: ClassTag[V], ord: Ordering[K] = null): PairRDDFunctions[K, V]

所以它需要几个隐式类型类。通常,当使用简单的具体类型时,这些类型已经在范围内了。但是您应该能够修改您的方法以也需要相同的隐式:

def stat[C <: LogRecord,K <:DimensionKey](statTrait: KeyTrait[C ,K],logRecords: RDD[C])(implicit kt: ClassTag[K], ord: Ordering[K])

或者使用更新的语法:

def stat[C <: LogRecord,K <:DimensionKey : ClassTag : Ordering](statTrait: KeyTrait[C ,K],logRecords: RDD[C])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

值reduceByKey不是org.apache.spark.rdd.RDD的成员 的相关文章

随机推荐

  • 通过 Promise 配置多种功能

    这是对使用量角器设置 firefox 配置文件 topic 根据setFirefoxProfilehowto 可以使用特殊的方式设置 firefox 配置文件 助手 js代码它使用firefox profile and q动态生成编码的 F
  • 如何使用 PHP Composer 从 Laravel 中删除包?

    使用 PHP Composer 从 Laravel 中删除包的正确方法是什么 到目前为止我已经尝试过 从文件中删除声明作曲家 json 在 要求 部分 删除任何类别名从文件app php 从我的代码中删除对该包的任何引用 Run compo
  • 如何在 C Makefile 中使用外部库和头文件?

    我在directory1中有一个头文件myheader h和一个静态库libmylib a文件 在directory2 中 我正在编写一个使用它们的程序 假设我在directory2中有main c 它使用myheader h和libmyl
  • JS 中“.innerHTML”和“.value”的区别

    我很困惑之间有什么区别 innerHTML and value在 JavaScript 中 这是我的代码 Input string
  • 如何将 postgres json 转换为整数

    我可以用to json 1 将 int 转换为 json 但如何将 json 转换为 int 这可能太慢了 to json 1 text int 另外 json 是从二进制块 bson 包装的还是简单的文本包装 对我有用的 使用 postg
  • $http 不在请求中发送 cookie

    We are working on a RESTful Webservice with AngularJS and Java Servlets When the user logs in our backend sends a Set Co
  • Java 11:补丁 sun.misc.BASE64Encoder

    这个问题不是重复的java lang NoClassDefFoundError sun misc BASE64Encoder 我正在尝试更新我的应用程序中的 Java 版本 至 11 并且我的应用程序中的库之一使用sun misc BASE
  • WPF 主题可以用于包含可在运行时更改的应用程序的多个外观吗?

    WPF 允许控件库为不同的系统主题提供不同的资源字典 本质上允许应用程序匹配操作系统选择的视觉主题 Aero Luna 等 我想知道是否可以在我的应用程序中包含多个主题资源字典 并利用框架内的一些现有主题支持 这应该适用于我自己的主题名称
  • 在 matplotlib 中围绕散点图中的数据点绘制平滑的多边形

    我有一堆带有两组数据的交叉图 并且一直在寻找一种 matplotlib 方法来用平滑的多边形轮廓突出显示它们的绘制区域 At the moment i just use Adobe Illustrator and amend saved p
  • Postgresql GROUP_CONCAT 等效吗?

    我有一张表 我想为每个 id 提取一行并连接字段值 例如 在我的表中 我有这个 TM67 4 32556 TM67 9 98200 TM67 72 22300 TM99 2 23009 TM99 3 11200 我想输出 TM67 4 9
  • 如何在Java中使用wait和notify而不出现IllegalMonitorStateException?

    我有 2 个矩阵 我需要将它们相乘 然后打印每个单元格的结果 一旦一个单元格准备好 我就需要打印它 但例如我需要在单元格 2 0 之前打印 0 0 单元格 即使 2 0 的结果先准备好 所以我需要按订单打印 所以我的想法是让打印机线程等到m
  • matplotlib:绘制闭合线

    我画了一个图如下 plt plot lon lat ro plt show 但线路并未关闭 如何使它们闭合为多边形 谢谢 Use matplotlib pyplot fill lon lat fill False 代替plot See ht
  • 如何在共享主机环境中安装phpMailer?

    如何安装phpMailer在共享托管环境中 我需要用它来验证电子邮件和更改用户的密码 你可以在这里下载 https github com PHPMailer PHPMailer 将文件夹上传到您的服务器并包含以下行的主文件 之后 您将需要一
  • 在ubuntu中安装octave包

    任何人都可以帮助我解决这个错误吗 octave 4 gt pkg install signal 1 2 0 tar gz error the following dependencies where unsatisfied signal n
  • ifstream::read 不附加 '\0'

    ifstream read只是读n字节放入缓冲区 但不追加 0 在缓冲区的末尾 对吧 那么当我使用缓冲区时 它如何知道缓冲区的结尾呢 我应该手动附加一个 0 在缓冲区的末尾 The ifstream用于读取文件 二进制文件或文本 处理二进制
  • 在 SimpleXML for PHP 中删除具有特定属性的子项

    我有几个具有不同属性的相同元素 我正在使用 SimpleXML 访问这些元素
  • 运行时 Autofac 绑定

    我目前使用 Autofac 进行简单的构造函数注入 没有任何问题 然而我想知道的是如何在运行时解决依赖关系 下面的示例显示了导出文档的多种方式 通过简单的构造函数注入 IExport 的具体实现在运行时得到解决 但是 需要做的是解析下拉列表
  • sklearn:如何加速矢量化器(例如Tfidfvectorizer)

    在彻底分析我的程序之后 我已经能够确定它被矢量化器减慢了 我正在处理文本数据 两行简单的 tfidf 一元向量化占用了代码执行总时间的 99 2 这是一个可运行的示例 这会将 3mb 的训练文件下载到您的磁盘 省略 urllib 部分以在您
  • 将参数从jsp传递到Spring Controller方法

    我正在使用 Hibernate 的 Spring MVC 应用程序中工作 在 JSP 页面中 我有一个函数列出数据库中存储的值 当前是所有值 我写了一个方法 其中列表仅限于 JSP 文件中传递的 ID 我的 HQL 查询工作正常 所以我知道
  • 值reduceByKey不是org.apache.spark.rdd.RDD的成员

    很伤心 我的spark版本是2 1 1 Scala版本是2 11 import org apache spark SparkContext import com mufu wcsa component dimension Dimension