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

如何在Spark SQL中控制分区大小

戴鸿羲
2023-03-14
val result = sqlContext.sql("select * from bt_st_ent")

具有以下日志输出:

Starting task 0.0 in stage 131.0 (TID 297, aster1.com, partition 0,NODE_LOCAL, 2203 bytes)
Starting task 1.0 in stage 131.0 (TID 298, aster1.com, partition 1,NODE_LOCAL, 2204 bytes)

我想知道有什么方法可以增加SQL输出的分区大小。

共有1个答案

高功
2023-03-14

Spark<2.0:

您可以使用Hadoop配置选项:

  • mapred.min.split.size.
  • mapred.max.split.size
val minSplit: Int = ???
val maxSplit: Int = ???

sc.hadoopConfiguration.setInt("mapred.min.split.size", minSplit)
sc.hadoopConfiguration.setInt("mapred.max.split.size", maxSplit)
spark.conf.set("spark.sql.files.maxPartitionBytes", maxSplit)

在这两种情况下,这些值可能不是由特定的数据源API使用的,因此您应该始终检查所使用格式的文档/实现细节。

*其他输入格式可以使用不同的设置。参见例如

  • 通过JDBC从RDBMS读取时在spark中进行分区
  • mapreduce拆分与spark Parition之间的差异
 类似资料:
  • 我在一个集成api中实现了Swagger,在这种情况下,有必要根据项目组织问题将这些服务按区域分开,但我有以下问题,一些控制器在不同的区域有共同的名称,当Swagger生成文档时,即使按区域分开,如果它一起有相同的控制器名称,我想知道是否也有办法将控制器按区域分开?下面是两个集成:Mercado Livre和Skyhub,它们都位于不同的区域,但如果它们注意到它们加入的类别,因为它们具有相同的控制

  • 本文向大家介绍您如何强制MySQL LIKE区分大小写?,包括了您如何强制MySQL LIKE区分大小写?的使用技巧和注意事项,需要的朋友参考一下 为了在LIKE BINARY的帮助下强制MySQL LIKE区分大小写,以下是语法- 为了理解上述概念,让我们创建一个表。以下是创建表的查询- 现在,您可以插入带有小写字母的记录,以强制MySQL LIKE区分大小写- 在表中显示记录。查询如下- 以下

  • 所以我有几个关于这个实现的问题: 我的CLIENT_TIMEOUT比OkHttp ConnectTimeout短。如果我的抛出超时异常,解析器函数中的finally block还会执行吗?我指望它能关闭我的联系。 如何限制连接池的大小?如果连接超出限制,有没有办法自动回收最旧的连接?

  • 我想让用户选择进行区分大小写或不区分大小写的搜索。 我的想法是使用区分大小写的分析器对数据进行索引,然后根据用户输入使用区分大小写或不区分大小写的分析器进行搜索。 因此,我创建了区分大小写的分析器,下面是我的简单代码: 对于索引,我使用了以下方法: 对于搜索,我使用: 当我对此感到厌倦时,敏感的案例起了作用,但不敏感的案例没有起作用。 经过更多的研究,我发现使用区分大小写的分析器和低关注度的查询是

  • 问题内容: 这个问题已经在这里有了答案 : 7年前关闭。 可能重复: Mysql区分大小写 Mysql对于其LIKE比较忽略大小写。 您如何强制它执行区分大小写的LIKE比较? 问题答案: 用途:

  • 问题内容: 她是我的问题,我想这真的很基础。 我正在尝试在数据库中查找是否存在一行。这是我的代码: 问题是,当我寻找“测试”时,它说不存在,即使我的数据库中有“测试”也是如此。 问题答案: 您可以使用: 或者,您可以使用以下两种方式将它们都转换为小写: 该示例最有效,您知道数据库中的所有数据已经​​是小写,然后可以执行: 与可以小写数据库中所有数据的情况相比,这将是一个便宜的比较。