2016-05-11 6 views

Antwort

0

Siehe den Code org.apache.hadoop.mapred.FileInputFormat.getSplits().

Die Blockgröße hängt von der Implementierung des S3-Dateisystems ab (siehe FileStatus.getBlockSize()). Z.B. S3AFileStatus setzen Sie es gleich 0 (und dann FileInputFormat.computeSplitSize() kommt ins Spiel).

Auch bekommt man nicht spaltet, wenn Ihr Inputformat :) nicht spaltbar ist

0

Spark S3 behandeln, als ob es sich um ein blockbasierten Dateisystem waren, so Partitionierungsregeln für HDFS und S3-Eingänge sind die gleichen: Standardmäßig erhalten Sie eine Partition pro Block. Es lohnt sich Inspektion Anzahl der erstellten Partitionen selbst:

val inputRDD = sc.textFile("s3a://...") 
println(inputRDD.partitions.length) 

Weiterführende Literatur I this vorschlagen, die Partitionierungsregeln im Detail behandelt.