【发布时间】:2020-11-25 21:30:59
【问题描述】:
【问题讨论】:
-
你能显示代码吗?枢轴所在的位置
-
我在代码中有很多底层连接
标签: scala apache-spark
【问题讨论】:
标签: scala apache-spark
具体来说,pivot 会导致 Spark 启动水下作业以对枢轴值进行旋转。您可以提供它们来避免 afaik,但通常不会这样做。
show 和 reading s3 paths 也会导致 Spark 生成额外的作业,take 以及 schema inference by Spark。
关于 Actions 和 Jobs 的大部分内容都来自 RDD。借助 DF 和 Catalysts,诸如优化之类的事情可以启动以提高性能。
此外,Spark UI 上的显示很难让很多人理解。作业的名称通常保持不变,但它涉及为wide-transformations 完成的工作,涉及shuffling,称为Stages。 groupBy, orderBy, agg 所有人都根据“洗牌边界”做他们的事情。这是它的工作方式。您的代码显示了这些内容。
这个Spark: disk I/O on stage boundaries explanation 可能会提供一些见解以及背景中发生的事情。 grouBy 的输出通过两个阶段输入到 orderBy。
【讨论】: