我需要在向Spark工作人员委派数据时并行化SparkR中的数据框。
代码段:
parallelRDD <-SparkR:::parallelize(sc,dataFrame)
它在控制台上打印以下信息。
context.R: A data frame is parallelized by columns.
每行都是原子的,用于数据处理。我已将数据帧转换为数千个列。现在每列都是原子的,用于数据处理。但是将单列委托给spark工作者似乎并不是一个好策略,因为没有明显的性能提升。
是否可以并行化一组行,以便可以在spark worker上处理这些数据行?
答案 0 :(得分:1)
你需要的就是这样:
createDataFrame(sqlContext, dataFrame) %>% SparkR:::map(identity)
免责声明:我不鼓励使用内部API。请务必阅读SPARK-7230以了解为什么RDD API没有被包含在SparkR的第一个正式版本中。