当Spark从S3读取大文件时,可以将数据分发到不同的节点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当Spark从S3读取大文件时,可以将数据分发到不同的节点相关的知识,希望对你有一定的参考价值。
假设我在S3上有一个大型数据文件,并希望将其加载到Spark集群以执行某些数据处理。当我使用sc.textFile(filepath)将文件加载到RDD时,我的集群中的每个节点都会存储我的文件RDD的一部分并通过节点分发吗?或者整个数据文件将存储在一个节点中并通过群集进行复制?如果文件大小大于该节点的内存怎么办?
谢谢!
答案
S3没有地方,因此Spark可以在任何有空间的地方安排工作。
但是,如果可以拆分文件,它只会破坏文件进行处理。如果不用gz压缩,Avro,ORC,镶木地板,CSV都能很好地分割。文字文件?不是AFAIK
以上是关于当Spark从S3读取大文件时,可以将数据分发到不同的节点的主要内容,如果未能解决你的问题,请参考以下文章
Spark - 从 S3 读取分区数据 - 分区是如何发生的?