在我的spark应用程序中,我只想访问一个大文件,并将计算分布在EC2上的许多节点上。
最初,我的文件存储在S3上。
从S3加载带有sc.textFile()
功能的文件非常方便。
但是,我可以付出一些努力将数据加载到HDFS,然后从那里读取数据。
我的问题是,HDFS的性能会更好吗?
我的代码涉及spark partitions(mapPartitions transforamtion)
,所以我的初始文件系统是什么才真正重要?
答案 0 :(得分:2)
显然,当使用 S3 时,与本地磁盘上的 HDFS 相比,延迟更高,数据吞吐量更低。
但这取决于您对数据的处理方式。似乎大多数程序受CPU功率的限制比网络吞吐量更多。因此,您可以使用从S3获得的 1Gbps 吞吐量。
无论如何,你可以查看来自 Aaron Davidson的关于Spark Summit 2015的最新幻灯片。这个主题在那里讨论。
http://www.slideshare.net/databricks/spark-summit-eu-2015-lessons-from-300-production-users/16