首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spark在加载Hive表时创建了多少个分区

Spark在加载Hive表时创建了多少个分区
EN

Stack Overflow用户
提问于 2020-04-02 20:42:05
回答 3查看 1.4K关注 0票数 3

即使是Hive表或HDFS文件,当Spark读取数据并创建数据帧时,我认为RDD/dataframe中的分区数量将等于HDFS中的partfile数量。但是,当我使用配置单元外部表进行测试时,我可以看到这个数量与数据帧中分区的部分文件数量.The数量119不同。该表是一个Hive分区表,其中包含150个部分文件,最小文件大小为30MB,最大大小为118MB。那么,是什么决定了分区的数量呢?

EN

回答 3

Stack Overflow用户

发布于 2020-04-02 20:58:20

您可以通过设置spark.sql.files.maxPartitionBytes来控制Spark填充到单个分区中的字节数。默认值为128MB,请参阅Spark Tuning

票数 2
EN

Stack Overflow用户

发布于 2020-04-03 19:04:55

我认为这个链接确实回答了我的问题,分区的数量取决于拆分的数量,而拆分取决于.The的输入格式。https://intellipaat.com/community/7671/how-does-spark-partition-ing-work-on-files-in-hdfs

票数 0
EN

Stack Overflow用户

发布于 2020-04-02 21:13:03

每个块的块大小为128MB。斯帕克会读取数据。假设您的配置单元表大小是14.8 GB,那么它将把配置单元表数据划分为128MB的块,并将产生119个分区。

另一方面,您的配置单元表是分区的,因此分区列具有150个唯一值。

因此,配置单元中的零件文件数量和spark中的分区数量没有关联。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60991846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档