巨大的文件引发排序并遍历整个数据集

时间:2016-11-13 04:56:01

标签: loops apache-spark

我是新手,但仍然不了解开发人员是否需要了解并行性。它对开发人员是否透明。我的问题如下。 我需要从大量大文件中对记录(通过cityID和timestamp)进行排序,我需要在循环中迭代排序的记录并进行某些计算。我不能分组,因为来自同一城市的记录(按时间戳)的顺序对我的计算很重要。我怎么能在火花中做到这一点?
使用RDD并迭代它意味着我会在一台机器上完成所有操作,因为我需要整个数据集并且数据不能放在同一台机器上。是对的吗?我读了很多关于RDD的内容,但我仍然缺少这一部分,如果数据无法放在同一台机器上,同样的RDD,我想在一个循环中遍历所有数据,那该怎么办..我需要控制一些东西吗? ?有没有办法让整个集群有一个循环?

1 个答案:

答案 0 :(得分:0)

一般来说:

  • 如果计算是完全顺序的(循环记录),Spark将不会提供任何优势。

此处(如果订单仅在城市定义的组中很重要):

  • 按城市划分数据
  • 按日期排序
  • 对每个分区执行顺序计算