gpt4 book ai didi

hadoop - Hadoop 中的 Hive 存储,有趣的发现但不明白

转载 作者:可可西里 更新时间:2023-11-01 16:42:15 24 4
gpt4 key购买 nike

这是在 hive/hadoop 上的一个发现,我有一个名为 titles 的表,我把它分成两部分,一个是 titles20000,另一个是 titles20000more,行数看起来不错,但是数据大小看起来不同,请参阅通过在浏览器中键入“主机地址:50070”从名称节点截屏: enter image description here

看 block 大小,第一个表标题有4个 block ,而拆分后的子表每个只有一个。

我还通过在配置单元中执行 show 属性以另一种方式检查了 dataSize: enter image description here

我快速计算了行数:

n = titles: 443309
n1 = titles20000: 14781
n2 = titles20000more: 428528
n = n1 + n2 = 443309
% of n1 = 3%
% of n2 = 97%

这是正确的。

然后我对 totalSize 做了另一个快速计算:

n = titles: 19934943
n1 = where emp_no < 20000: 624642
n2 = where emp_no >=20000: 18423685
n1+n2 = 19048327 < n

显然这与之前的观察相符,问题是:

对于原始表格标题,它使用了 4 个 128MB block 对于拆分的第二个表 titles20000more,它包含 97% 的行,但仅使用 1 128MB Block

第一个截图中,Size(第4列)是什么意思?

怎么会这样?

最佳答案

大小是数据的实际大小。

block 大小是存储数据的 block 的大小。

您的原始表使用四个 block ,因为它的数据是由使用四个映射器的纯映射作业创建的。当数据被复制到其他表中时,它似乎已合并为一个 block 。

关于hadoop - Hadoop 中的 Hive 存储,有趣的发现但不明白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39834559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com