apache-spark - Spark : difference when read in . gz 和 .bz2

标签 apache-spark rdd gzip bz2

我一般使用.gz在Spark中读写文件,文件数应该和RDD分区数一样。 IE。一个巨大的 .gz 文件将读入单个分区。但是,如果我读入一个 .bz2,我还会得到一个巨大的分区吗?或者 Spark 是否支持将一个 .bz2 自动拆分为多个分区?

另外,我怎么知道当 Hadoop 从一个 bz2 文件读入它时会有多少个分区。谢谢!

最佳答案

    However, if I read in one single .bz2, would I still get one single giant partition?   
Or will Spark support automatic split one .bz2 to multiple partitions?

如果您指定 n分区读取 bzip2文件,Spark 将产生 n并行读取文件的任务。默认值 n设置为 sc.defaultParallelism .分区数是调用 textFile 的第二个参数。 ( docs )。
. one giant .gz file will read in to a single partition.

请注意,您可以随时执行
sc.textFile(myGiantGzipFile).repartition(desiredNumberOfPartitions)
读取文件后获得所需的分区数。
Also, how do I know how many partitions it would be while Hadoop read in it from one bz2 file .

那将是 yourRDD.partitions.size对于 Scala api 或 yourRDD.getNumPartitions()对于python api。

关于apache-spark - Spark : difference when read in . gz 和 .bz2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37445054/

相关文章:

gruntjs - 将 gzip 压缩应用于 grunt-contrib-connect 提供的文件

javascript - 如何让javascript在浏览器上解析json.gz文件

apache-spark - 等效于或替代Jupyter的Databricks display()函数

postgresql - 使用Spark JdbcRDD读取PostgreSQL表出错

apache-spark - 为什么Spark的重新分区没有将数据平衡到分区中?

php - 缓存 gzip 压缩的 css

java - 如何在 java 中使用 sparkSubmit 更改 hdfs 中的用户

java - 如何在Java中使用Column.isin?

apache-spark - 我们应该在 dataframe 上使用 groupBy 还是 reduceBy

python - 如何分割此 Pyspark mapreduce 代码中的年份?