[HADOOP] S3 버킷에서 파일을로드 할 때 Spark에서 만드는 파티션은 몇 개입니까?
HADOOPS3 버킷에서 파일을로드 할 때 Spark에서 만드는 파티션은 몇 개입니까?
파일이 기본적으로 HDFS에서로드 된 경우 spark은 블록 당 하나의 파티션을 만듭니다. 그러나 S3 버킷에서 파일을로드 할 때 어떻게 스파크가 파티션을 결정합니까?
해결법
-
==============================
1.org.apache.hadoop.mapred.FileInputFormat.getSplits ()의 코드를 참조하십시오.
org.apache.hadoop.mapred.FileInputFormat.getSplits ()의 코드를 참조하십시오.
블록 크기는 S3 파일 시스템 구현에 따라 다릅니다 (FileStatus.getBlockSize () 참조). 예 : S3AFileStatus가 0으로 설정되면 FileInputFormat.computeSplitSize ()가 작동합니다.
InputFormat이 분할 가능하지 않은 경우에도 분할을 얻지 못합니다. :)
-
==============================
2.Spark는 S3를 블록 기반 파일 시스템처럼 취급하므로 HDFS 및 S3 입력에 대한 분할 규칙은 동일합니다. 기본적으로 한 블록 당 하나의 파티션이 생성됩니다. 생성 된 파티션의 수를 직접 조사해 보는 것이 좋습니다.
Spark는 S3를 블록 기반 파일 시스템처럼 취급하므로 HDFS 및 S3 입력에 대한 분할 규칙은 동일합니다. 기본적으로 한 블록 당 하나의 파티션이 생성됩니다. 생성 된 파티션의 수를 직접 조사해 보는 것이 좋습니다.
val inputRDD = sc.textFile("s3a://...") println(inputRDD.partitions.length)
더 자세한 내용은 분할 규칙을 자세히 설명하는 내용을 참조하십시오.
from https://stackoverflow.com/questions/37168716/how-many-partitions-does-spark-create-when-a-file-is-loaded-from-s3-bucket by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Apache Spark의 파일에 쓰기 (0) | 2019.07.22 |
---|---|
[HADOOP] Hadoop 2.2.0은 Mahout 0.8과 호환됩니까? (0) | 2019.07.21 |
[HADOOP] Windows에서 hadoop 2.2를 설치하고 실행하기위한 문서 (0) | 2019.07.21 |
[HADOOP] Hadoop을 사용한 유사성 결합 (0) | 2019.07.21 |
[HADOOP] 헤드리스 환경의 MapReduce 작업이 컨테이너 실행의 AM 컨테이너 예외로 인해 N 번 실패합니다. (0) | 2019.07.21 |