前言

spark怎么知道读取的是本地文件还是hdfs的文件呢?

前面写过一篇博客【spark2的textFile()是怎么实例化各个不同的fs(FileSystem)】,主要是指【本地文件系统】【hadoop文件系统】,我们看到源码里最后是根据文件路径url的scheme来判断的:
file: LocalFileSystem
hdfs: DistributeFileSystem

1、从InputSplit[] getSplits(JobConf job, int numSplits)说起

因为前部分是跟读取本地文件是一样的,所以不重复写了。

集群blockSzie=256M,hdfs文件blockSize=256M:
【spark2】【源码学习】【分区数】spark读取 hdfs/可分割/单个 的文件时是如何划分分区
【spark2】【源码学习】【分区数】spark读取 hdfs/可分割/单个 的文件时是如何划分分区
集群blockSzie=256M,hdfs文件blockSize=128M:
【spark2】【源码学习】【分区数】spark读取 hdfs/可分割/单个 的文件时是如何划分分区
【spark2】【源码学习】【分区数】spark读取 hdfs/可分割/单个 的文件时是如何划分分区

结论:blockSize跟集群的配置无关,至于hdfs文件真实的blockSize有关

相关文章:

  • 2021-07-20
  • 2021-06-28
  • 2022-01-10
  • 2021-06-27
  • 2022-01-03
  • 2022-12-23
  • 2021-08-25
猜你喜欢
  • 2021-05-14
  • 2021-06-25
  • 2021-09-29
  • 2021-09-26
  • 2021-05-09
  • 2021-09-29
相关资源
相似解决方案