当前位置: 首页 > 知识库问答 >
问题:

在RDD[LabeledPoint]Spark/Scala中查找最小、最大标签

唐威
2023-03-14

我有一个RDD[标签点],我想找到标签的最小值和最大值,并应用一些转换,例如从所有这些标签中减去数字5。问题是我已经尝试了各种方法来获取标签,但没有任何工作正常。

如何仅访问 RDD 的标签和功能?有没有办法将它们作为列表[双精度]和列表[向量]例如?

我无法转到数据帧。

共有2个答案

韩智敏
2023-03-14

好了,在玩了地图功能之后,我想到了这个解决方案

val labels = rdd.map(x=> x.label)
val min = labels.min
val max = labels.max

如果您想要更改标签,您可以再次使用地图功能

rdd.map(x=> x.label - 5)

通过这种方式,您可以使用RDD[LabeledPoint]的标签部分。

在Cyril下面的评论之后,我决定添加一个命令,让您保留RDD,并只更改标签。

val newRdd = rdd.map(x => x.copy(x.label -5))
卜飞鸣
2023-03-14

您可以使用SparkSession.ForDataFrame从现有RDD创建DataFrames,您无论如何都可以操作它。

 类似资料:
  • 我想出了四种方法来解决这个问题,但没有一种方法真正适用于大型RDD,我希望有人能帮助我。 我有一个格式为((x,y),(sim,sim ')的火花RDD,其中x和y是两个索引,sim和sim '是x和y的两个不同的相似性度量。我有兴趣寻找具有最大sim '值的元组。我想出了一些方法来做到这一点,但每种方法都有其问题,最终这些方法都不能应用于大规模的RDD,如10亿元组的RDD。 假设res_dic

  • 是否可以在MongoDB中找到最大的文档大小? 显示的是平均大小,这并不具有代表性,因为在我的例子中,大小可能会有很大差异。

  • 找到给定RDD的每个分区大小的最佳方法是什么。我正在尝试调试一个扭曲的分区问题,我尝试了以下方法: 它适用于小型RDD,但对于大型RDD,它会产生OOM错误。我的想法是,导致了这种情况的发生。但不管怎样,我只是想知道有没有更好的方法?

  • 本文向大家介绍JavaScript 查找最小或最大元素,包括了JavaScript 查找最小或最大元素的使用技巧和注意事项,需要的朋友参考一下 示例 如果您的数组或类似数组的对象是numeric,也就是说,如果它的所有元素都是数字,则可以使用Math.min.apply或作为第一个参数Math.max.apply传递null,而将数组作为第二个参数传递。 6 在ES6中,可以使用...运算符扩展数

  • 我有一个RDD,其模式如下: (我们称之为) 我希望创建一个新的RDD,每一行都为,键和值属于。 我希望输出如下: 有人能帮我处理这段代码吗? 我的尝试: 错误:值映射不是Char的成员 我理解这是因为map函数只适用于,而不是每个。请帮助我在中使用嵌套函数。

  • 在一个14节点的Google Dataproc集群中,我有大约600万个名字,它们被两个不同的系统转换为ID:和。每个包含、和。我的目标是生成从到的映射,以便对于每个,对应的是附加到的所有名称中最常见的id。 让我们试着用一个例子来澄清一下。如果我有以下行: 我的目标是生成从到的映射。实际上,与关联的名称是、和,它们分别映射到、,因此是与关联的名称中最常见的映射。同样,将映射到。假设总会有赢家是可