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 )
我正在尝试在使用 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 )