作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 Spark 1.6.1。
我的 spark 应用程序读取了 10000 多个存储在 s3 中的 Parquet 文件。
val df = sqlContext.read.option("mergeSchema", "true").parquet(myPaths: _*)
myPaths
是
Array[String]
包含 10000 个 Parquet 文件的路径。每条路径都是这样
s3n://bucketname/blahblah.parquet
WARN TaskSetManager: Stage 4 contains a task of very large size (108KB). The maximum recommended task size is 100KB.
最佳答案
问题是您的数据集在分区之间分布不均匀,因此某些分区的数据比其他分区多(因此某些任务计算的结果更大)。
默认情况下,Spark SQL 使用 spark.sql.shuffle.partitions
假设 200 个分区属性(property)(见 Other Configuration Options):
spark.sql.shuffle.partitions (default: 200) Configures the number of partitions to use when shuffling data for joins or aggregations.
coalesce
或
repartition
读取 Parquet 文件后(以及执行操作之前)的数据集。
explain
或 Web UI 来查看执行计划。
IndirectTaskResult
(正如您在
the code 中看到的那样)。
关于apache-spark - 如何处理 "WARN TaskSetManager: Stage contains a task of very large size"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43996615/
我是一名优秀的程序员,十分优秀!