scala - Spark RDD双重比较错误:值>不是(Double,Double)的成员
问题描述
我想在pairthree中,(a,(b,c))只过滤c> 100
pairthree.take(3)
res8: Array[(Double, (Double, Double))] = Array((44966.0,(6.5,2.0)), (5015.0,(879.0,248.0)), (47202.0,(32.0,8.0)))
val pairhundred =pairthree.filter { case(k, v) => v > 100.0 }.take(3)
command-173749889538375:2:错误:值 > 不是 (Double, Double) val pairhundred =pairthree.filter { case(k, v) => v > 100.0 }.take(3) 的成员
我不明白为什么会发生这个错误......
解决方案
v
是类型Tuple
。试试下面的代码。
检查元组中的first
参数> 100
val pairhundred =pairthree.filter { case(k, v) => v._1 > 100.0 }.take(3)
检查元组中的second
参数> 100
val pairhundred =pairthree.filter { case(k, v) => v._2 > 100.0 }.take(3)
检查元组中的both
参数> 100
val pairhundred =pairthree.filter { case(k, v) => (v._1 > 100.0 || v._2 > 100.0) }.take(3)
推荐阅读
- c# - 如何为c#中循环创建的按钮分配不同的任务
- php - 当其他页面加载正常时,为什么我的视图无法在 Laravel 中正确加载?
- laravel - Laravel 查询生成器/如何阻止它添加方 [括号]?
- android - javax.net.ssl.SSLHandshakeException 在 android 9.0 和 8.0 中显示带有 glide 的图像时出现,但在 android 6.0 和 10 中运行良好
- android - findNavController 使用上下文
- java - 使用 ThreadLocal.get() 获取不确定值
- jquery - 调用/显示html元素时如何从数据库中加载值
- vue.js - 将数据从组件发送到组件
- css - 使 div 容器调整为 svg 高度
- c++ - CUDA C++ 从主机读取图像并复制到设备