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

从Spark RDD中删除空分区

黎奇略
2023-03-14

我从HDFS中获取数据,并将其存储在Spark RDD中。Spark根据HDFS块的数量创建分区的数量。这会导致大量的空分区,这些分区也会在管道过程中得到处理。为了消除这种开销,我想从RDD中过滤掉所有的空分区。我知道合并和重新分区,但不能保证所有空分区都会被删除。

还有别的办法吗?

共有1个答案

毋宏茂
2023-03-14

没有一种简单的方法可以从RDD中删除空分区。

coalesce不能保证删除空分区。如果一个RDD包含40个空白分区和10个包含数据的分区,那么RDD之后仍然会有空分区。聚结(45)

repartition方法将数据均匀地分割到所有分区上,这样就不会有任何空分区。如果您有一个RDD,其中有50个空白分区和10个包含数据的分区,请运行RDD。重新分区(20),数据将在20个分区中均匀分割。

 类似资料:
  • 从Spark中删除分区的替代方案是什么?有另一个实现来做到这一点? 谢了。

  • 我想删除所有空的Kafka主题(定期从cron)。我在文档中找不到一个这样做的命令?转到脚本: 但是,这包括已经过期的消息?在不使用消费者的情况下,如何在主题中找到实际的当前计数?

  • 我一直试图创建一个宏来格式化从特定外部源复制的表,问题是,一些单元格似乎从右向左填充,剩余的空间向左填充空格:

  • 我使用XMLOutputter类将文档对象的内容写入xml文件。 但我面临以下问题:当我删除任何子节点时,它会在文档对象中创建空行,并且在将其内容保存到xml文件时,它也会在xml文件中显示空行。 所以这意味着如果我执行10次删除操作并保存其内容,那么xml文件中将有10行空行。 我浏览了以下链接。这些链接建议使用以下api: http://www.jdom.org/pipermail/jdom-

  • 问题内容: $(“#topNav” + $(“#breadCrumb2nd”).text().replace(” “, “”)).addClass(“current”); 这是我的代码的一部分。我想在获取另一个ID的text属性后向ID添加一个类。问题在于,持有我需要的文本的ID包含字母之间的空格。 我希望删除空白。我已经尝试过,但这只能部分起作用。该只删除第一个空间。 问题答案: 您必须告诉re

  • 问题内容: 如何从JavaScript中的数组中删除空元素? 有没有简单的方法,还是我需要遍历它并手动将其删除? 问题答案: 编辑: 大约9年前,当时没有很多有用的内置方法时,就回答了这个问题。 现在,当然,我建议您使用该方法。 请记住,此方法将为您返回 一个新数组, 其中的元素可以通过您提供给它的回调函数的条件。 例如,如果要删除或值: 例如,这将取决于您认为什么是“空”,如果您正在处理字符串,