当前位置: 首页 > 知识库问答 >
问题:

Spark是否将中间洗牌输出写入磁盘

温源
2023-03-14

共有1个答案

皮弘博
2023-03-14

当需要洗牌的操作第一次被评估(动作)并且不能被禁用时,就会发生这种情况

这是一个优化。洗牌是在Spark中发生的昂贵的事情之一。

它将与在同一RDD上执行的任何后续操作一起自动重用。

 类似资料:
  • 我有下面的spark工作,努力把一切都留在记忆中: 然而,当我查看作业跟踪器时,我仍然有很多Shuffle Write和Shuffle spill到磁盘... 然后作业失败,因为...我想知道这里的532.9GB混洗写入,是写入磁盘还是内存?

  • 我试图对一个包含4.827行和40.107列的dataframe进行PCA,但我接受了一个Java堆空间错误和丢失的输出位置进行洗牌(根据executors上的sdterr文件)。错误发生在PCA的“rowmatrix.scala:122”阶段。 集群 它是一个独立的集群,有16个工作节点,每个工作节点有一个执行器,有4个核心和21.504MB内存。主节点有15G内存,我用“java-jar-xm

  • 问题内容: 是否有人尝试 将 log4j 日志文件_直接 _写入 Hadoop分布式文件系统 ? 如果是,请回答如何实现。我想我必须为此创建一个Appender。 是这样吗 我需要以特定的时间间隔将日志写入文件,并在以后的阶段查询该数据。 问题答案: 我建议将Apache Flume 用于此任务。Log4j有Flume附加程序。这样,您将日志发送到Flume,并写入HDFS。这种方法的好处是Flu

  • 想象一下以下过程:Spark应用程序(Java实现)正在使用Cassandra数据库加载、转换为RDD并处理数据。该应用程序还从数据库中传输新数据,这些数据也由自定义接收器处理。流处理的输出存储在数据库中。该实现使用与数据库集成的Spring Data Cassandra。 CassandraConfig: 数据处理器。主要方法: 预计初始加载会有大量数据。因此,数据会在rddBuffer中分页、

  • 如何在单个作业中使用Spark根据密钥写入多个输出。 相关:按键写入多个输出扩展Hadoop,一个MapRe员作业 例如。 将确保为 而将是 编辑:我最近添加了一个新的答案,包括完整的导入,皮条客和压缩编解码器,请参阅https://stackoverflow.com/a/46118044/1586965,这可能是有帮助的,除了早期的答案。