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

火花再分配和合并

易阳朔
2023-03-14

如果我想重新分区一个数据帧,如何决定需要做的分区数量?如何决定是使用重新分区还是合并?我知道合并基本上只是为了减少分区的数量。但是我们如何决定在什么情况下使用哪个呢?

共有1个答案

艾英范
2023-03-14

我们不能根据特定参数来决定这一点,会有多个因素来决定多少个分区并重新分区或合并*基于数据的大小,如果文件大小太大,您可以为每个块提供 2 或 3 个分区以提高性能,但如果给更多分区,它会拆分为小文件。在大数据中,小文件会降低性能。1 块 (128 MB) --

 类似资料:
  • 我试图从聚合原理的角度来理解火花流。Spark DF 基于迷你批次,计算在特定时间窗口内出现的迷你批次上完成。 假设我们有数据作为- 然后首先对Window_period_1进行计算,然后对Window_period_2进行计算。如果我需要将新的传入数据与历史数据一起使用,比如说Window_priod_new与Window_pperid_1和Window_perid_2的数据之间的分组函数,我该

  • 我用这些参数启动火花2.3.1的火花外壳: 然后创建两个带有排序和存储桶的蜂箱表 第一个表名-表1 第二个表名-table2 (表2的代码相同) 我希望当我用另一个df连接这些表时,查询计划中没有不必要的交换步骤 然后我关闭广播使用SortMergeJoin 我拿一些df 但当我在连接前对两个表使用union时 在这种情况下出现了排序和分区(步骤5) 如何在不进行排序和交换的情况下合并两个蜂窝表

  • 如果spark streaming在10秒的批处理间隔中获得50行消息,并且在40.5行消息之后,这10秒就结束了,剩下的时间落入另一个10秒的间隔中,前40.5行的文本是一个RDD被首先处理,在我的用例中,前40行是有意义的,但是下一个。5行没有意义,第二个RDD首先也是这样。5行,我的问题是否有效?。请提供建议如何处理这个问题?。 谢谢比尔。

  • 我们开始在团队中尝试spark。在我们减少spark中的工作后,我们希望将结果写入S3,但是我们希望避免收集Spark结果。目前,我们正在为RDD的每个分区写文件,但是这会产生很多小文件。我们希望能够将数据聚合到几个文件中,这些文件按照写入文件的对象数量进行分区。例如,我们的总数据是100万个对象(这是不变的),我们希望生成40万个对象文件,而我们当前的分区生成大约2万个对象文件(这因每个作业而异

  • 一些脚本在工作时什么也不做,当我手动运行它们时,其中一个失败了,出现了以下消息: 错误SparkUI:未能绑定SparkUI java.net.bindexception:地址已在使用:服务“SparkUI”在重试16次后失败! 所以我想知道是否有一种特定的方法来并行运行脚本?

  • 问题内容: 在我的猪代码中,我这样做: 我想用spark做同样的事情。但是,不幸的是,我看到我必须成对进行: 是否有联合运算符可以让我一次对多个rdds进行操作: 例如 这是一个方便的问题。 问题答案: 如果这些是RDD,则可以使用方法: 没有等效项,但这只是一个简单的问题: 如果要在RDD上大量使用和重新创建,可能是避免与准备执行计划的成本相关的问题的更好选择: