Apache spark HDFS中大于块大小的文件

Apache spark HDFS中大于块大小的文件,apache-spark,hadoop,hdfs,Apache Spark,Hadoop,Hdfs,众所周知,编写一个大于HDFS块大小的文件不是最佳的,许多非常小的文件也是如此 但是,在spark中执行重新分区('myColumn)操作时,它将为每个项目创建一个单独的分区(假设为一天),其中包含所有记录(作为单个文件),其大小可能为几GB(假设为20GB),而HDFS块大小配置为256 MB 文件太大真的不好吗?当读回文件时(假设它是一个可拆分的文件,如带有gzip或zlib压缩的拼花地板或orc)spark正在为每个文件创建一个任务,也就是说,这是否意味着我不需要担心指定比HDFS块大小大

众所周知,编写一个大于HDFS块大小的文件不是最佳的,许多非常小的文件也是如此

但是,在spark中执行
重新分区('myColumn)
操作时,它将为每个项目创建一个单独的分区(假设为一天),其中包含所有记录(作为单个文件),其大小可能为几GB(假设为20GB),而HDFS块大小配置为256 MB


文件太大真的不好吗?当读回文件时(假设它是一个可拆分的文件,如带有gzip或zlib压缩的拼花地板或orc)spark正在为每个文件创建一个任务,也就是说,这是否意味着我不需要担心指定比HDFS块大小大的文件大小?

在HDFS中,以可拆分格式创建单个大文件是一件好事。namenode必须维护更少的文件引用,并且有更多的块来并行处理


事实上,从Hadoop的角度来看,20GB仍然不够大,因为它可以安装在便宜的闪存驱动器上

大数据中的大多数文件都会大于块大小。大多数文件也将是可拆分的拼花/orc/Avro文件。你的意思是单个文件(文件夹内)有那么大吗?为什么不?我们的想法是让biigger文件可以按块分割。大文件只要是可分割的,就不会有这样的问题。**可分割**是这里的关键。谢谢。