蜂巢中的数据集大小是多少

Posted

技术标签:

【中文标题】蜂巢中的数据集大小是多少【英文标题】:What will be DataSet size in hive 【发布时间】:2015-05-27 06:46:12 【问题描述】:

我的 HDFS 中有 1 TB 的 .csv 格式数据。当我将它加载到我的 Hive 表中时,数据的总大小是多少。我的意思是会有 2 个相同数据的副本,即 HDFS 中的 1 个副本和 Hive 表中的其他副本?请澄清。提前致谢。

【问题讨论】:

【参考方案1】:

如果您创建一个 Hive 外部表,则为该表提供一个 HDFS 位置,并将该数据存储到该特定位置。

当你创建一个 hive 内部表 hive 创建一个目录到/apps/hive/warehouse/ 目录。 比如说,你的表名是table1,那么你的目录就是/apps/hive/warehouse/table1

这个目录也是一个HDFS目录,当你将数据加载到内部表中时,它会进入它的目录。

Hive 在表和它们对应的 HDFS 位置之间创建一个映射,因此当您读取数据时,它会从对应的映射目录中读取。

因此不会有与表及其 HDFS 位置对应的数据的重复副本。

但是如果在您的 Hadoop 集群中 Data Replication 因子设置为 3(默认复制),那么它将占用 3TB 集群磁盘空间(因为您有 1TB 数据),但您的配置单元表数据不会有任何影响。

请参阅以下链接以了解有关数据复制的更多信息。

http://hadoop.apache.org/docs/r1.2.1/hdfs_design.html#Data+Replication

【讨论】:

【参考方案2】:

这取决于您是在 Hive 中创建内部表还是外部表。

如果您在 Hive 中创建一个外部表,它将创建一个关于您的数据在 HDFS 中的存储位置的映射,并且根本不会有任何重复。 Hive 将自动选择存储在 HDFS 中的数据。

在此处阅读有关外部表的更多信息:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-ExternalTables

【讨论】:

以上是关于蜂巢中的数据集大小是多少的主要内容,如果未能解决你的问题,请参考以下文章

imagenet100多大

R中的高效链表(有序集)

在火花中加入大小不等的数据集

处理如此大的数据需要多少台服务器[关闭]

coco数据集图片尺寸不一

由于 R 中的数据集大小而需要聚合时如何访问未聚合的结果