当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 读取分区数据 - 分区是如何发生的?

从 s3 读取文件时 Spark 应用程序停止

在火花分析之前从 FTP 读取大文本文件

PySpark S3 文件读取性能考虑

Spark - 如何从 S3 读取具有文件名的多个 Json 文件

在火花分析之前从FTP读取大文本文件