Spark 嵌套转换 SPARK-5063

Spark nested transformations SPARK-5063

我正在尝试在使用 spark 时获取特定获胜拍卖时间前后的经过过滤的拍卖列表。 获胜的拍卖 RDD 和完整的拍卖 DD 由 case 类 组成,格式为:
case class auction(id: String, prodID: String, timestamp: Long)

我想过滤完整的拍卖 RDD,其中拍卖在获胜拍卖后的 10 秒内发生,在相同的产品 ID 上,并收到一个充满这些的 RDD。

我试过这样过滤它:

val specificmessages = winningauction.map(it =>
  allauctions.filter( x =>
    x.timestamp > it.timestamp - 10 &&
    x.timestamp < it.timestamp + 10 &&
    x.productID == it.productID
  )
)

由于无法进行嵌套转换,是否有执行此操作的方法?

还有另一个答案,但这主要涉及嵌套映射 SPARK-5603 nested map funcitons

尝试查看 cartesian 方法来构建新的 RDD 并对其应用过滤器

val specificmessages = allauctions.cartesian(winningauction)
                                  .filter( (x, y) => x.timestamp > y.timestamp - 10 && 
                                               x.timestamp < y.timestamp + 10 && 
                                               x.productID == y.productID )