如何在 Apache Spark 中分割输入文件

2024-01-06

假设我有一个大小为 100MB 的输入文件。它包含大量 CSV 格式的点(经纬度对)。为了在 Apache Spark 中将输入文件拆分为 10 个 10MB 文件,我应该做什么,或者如何自定义拆分。

注意:我想处理每个映射器中的点的子集。


Spark 的抽象不提供显式的数据分割。但是,您可以通过多种方式控制并行性。

假设您使用 YARN,HDFS 文件会自动拆分为 HDFS 块,并在 Spark 操作运行时同时处理它们。

除了 HDFS 并行性之外,还可以考虑将分区器与 PairRDD 一起使用。 PairRDD 是键值对 RDD 的数据类型,分区器管理从键到分区的映射。默认分区器读取spark.default.parallelism。分区器有助于控制数据的分布及其在 PairRDD 特定操作中的位置,例如:reduceByKey.

请查看以下有关 Spark 数据并行性的文档。

http://spark.apache.org/docs/1.2.0/tuning.html http://spark.apache.org/docs/1.2.0/tuning.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Apache Spark 中分割输入文件 的相关文章

随机推荐