执行以下配置单元查询的大概数字是什么:selectcount(*)fromtable;对于一个80亿行/40列/400gb的表?

o4tp2gmn  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(238)

执行以下配置单元查询的大致数字是什么:selectcount(*)fromtable;对于下表:
行数:~80亿
列数:40,各种大小的int、double和string
hdfs上的大小:~400gb
我想对照真实的数字检查一下大概的数字,看看系统配置是否正确。
抱歉,如果我错过了一些重要的东西,我是非常新的Hive和hadoop。
另外,如果机器的数量也按比例增加,执行时间是否会随行数线性增加?

x4shl7ld

x4shl7ld1#

要提供一个大概的数字是不可能的。
但我们可以列出影响因素:
群集中配置的Map任务数
块大小(确定将使用的Map器数)
执行时间将再次取决于这些因素。
e、 如果我有100个Map器可用,我的块大小是128mb-我需要3200个Map器(400*1024/128)。因此,假设所有的Map器都被分配到您的工作中,那么一次需要执行100个Map器中的32个(同样假设所有Map器同时开始和结束,这是一个愚蠢的假设:))。所以每个Map绘制者需要32倍的时间。
我本想留下这个作为评论,但我不允许这样做。

相关问题