RDD的.first()方法会随机播放吗?

时间:2019-07-22 17:52:17

标签: apache-spark apache-spark-sql

想象一下,我们有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)
})

1 个答案:

答案 0 :(得分:0)

如果您能够访问另一个RDD的映射内的一个RDD的数据,则可以在此处运行一些性能测试以了解两者之间的区别。不幸的是,下面的代码:

 val find = big_table.filter('id === row.id)

不可能,因为这会尝试访问另一个RDD中的一个RDD的数据。