想象一下,我们有small_table和big_table,并且需要这样做:
small_table.join(big_table, "left_outer")
如果这样做,会更快吗?
small_table.map(row => {
val find = big_table.filter('id === row.id)
if (find.isEmpty) return Smth(row.id, null)
return Smth(row.id, find.first().name)
})
答案 0 :(得分:0)
如果您能够访问另一个RDD的映射内的一个RDD的数据,则可以在此处运行一些性能测试以了解两者之间的区别。不幸的是,下面的代码:
val find = big_table.filter('id === row.id)
不可能,因为这会尝试访问另一个RDD中的一个RDD的数据。