什么时候应该在Spark中使用RDD代替Dataset?

时间:2020-05-21 04:16:08

标签: apache-spark dataset rdd

我知道我应该首先使用Spark数据集,但是我想知道是否存在好的情况下应该使用var fieldDef = new StringFieldDefinition<Record, DateTime>("contents.dateOfBith"); var filter = Builders<Record>.Filter.Gt(fieldDef, new DateTime(2000, 1, 1)); var res = col.Find(filter).ToList(); 而不是数据集?

1 个答案:

答案 0 :(得分:2)

在常见的Spark应用程序中,您应该使用数据集/数据框。 Spark在内部优化了这些结构,它们为您提供了高级API来处理数据。但是在某些情况下,RDD很方便:

  • 使用GraphX操作图时
  • 与仅知道如何处理RDD的第三方库集成时
  • 如果您想使用低级API更好地控制工作流程(例如reduceByKeyaggregateByKey