ebo*_*oni 2 scala apache-spark rdd
我正在尝试在使用spark时获得特定获胜拍卖时间周围的拍卖列表的过滤列表.获胜拍卖RDD和完整拍卖DD由案例类组成,格式如下:
case class auction(id: String, prodID: String, timestamp: Long)
我想在相同的产品ID上过滤在中奖拍卖的10秒内拍卖的完整拍卖RDD,并获得充满这些的RDD.
我试图像这样过滤它:
val specificmessages = winningauction.map(it =>
allauctions.filter( x =>
x.timestamp > it.timestamp - 10 &&
x.timestamp < it.timestamp + 10 &&
x.productID == it.productID
)
)
Run Code Online (Sandbox Code Playgroud)
有没有办法执行此操作,因为嵌套转换是不可能的?
还有另一个答案,但这主要涉及嵌套地图SPARK-5603嵌套地图功能
尝试查看笛卡尔方法来构建新的RDD并将过滤器应用于它
val specificmessages = allauctions.cartesian(winningauction)
.filter( (x, y) => x.timestamp > y.timestamp - 10 &&
x.timestamp < y.timestamp + 10 &&
x.productID == y.productID )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1378 次 |
| 最近记录: |