我找不到任何记录在案的限制https://cwiki.apache.org/confluence/display/hive/home我猜行数和列数没有限制。文件大小受文件系统限制。通过正确划分数据,我们还可以管理文件大小和文件数量。。谢谢您。
gcxthw6b1#
列数:在这个jira中,他们成功地用15k列和20k列测试了orc文件(默认1gb堆)。文本文件可能可以存储更多的列:https://issues.apache.org/jira/browse/hive-7250 -jira是固定的。最大文件大小。文件分块存储,块id很长,最大值为2^63。如果块大小为64 mb,则最大大小为512字节。因此,实际上没有限制,但是hadoop还有其他限制。这个问题太过宽泛,无法给出完整的答案,但在这项工作中,关于hadoop可伸缩性的重要结论很少:http://c59951.r51.cf2.rackcdn.com/5424-1908-shvachko.pdf命名空间限制。名称空间由文件和目录组成。目录定义命名空间的层次结构。数据容器中的文件被划分为大的(每个128mb)块。名称节点的元数据由层次化名称空间和块到数据节点的Map组成,后者确定物理块位置。为了保持较高的元数据操作率,hdfs将整个名称空间保存在ram中。名称节点将名称空间映像及其修改日志持久地存储在外部内存(如本地或远程硬盘驱动器)中。名称空间映像和日志包含hdfs文件和目录名及其属性(修改和访问时间、权限、配额),包括文件的块id。为了存储1亿个文件(引用2亿个块),名称节点应该至少有60gb的ram。磁盘空间。由于1亿个文件平均每个有1.5个块,文件系统中将有2亿个块。如果最大块大小为128mb,并且每个块复制三次,则存储这些块所需的总磁盘空间接近60pb。簇大小。为了容纳1亿个文件命名空间引用的数据,hdfs集群需要10000个节点,配备8个1tb硬盘驱动器。这样一个集群的总存储容量是60pb内部荷载。在总存储容量为60 pb的10000节点hdfs集群上,块报告和心跳信号处理的内部负载将消耗总名称节点处理容量的30%。更新:关于hadoop2中的本机hdfs,所有这些都是正确的。amazons3声称它的可伸缩性要高得多,实际上是无限的,尽管s3最终在重写和删除后的读取方面是一致的。hadoop-13345为amazons3存储的s3a客户机添加了一个可选特性:能够使用dynamodb表作为文件和目录元数据的快速一致存储。还有其他与hadoop兼容的文件系统(hcf)。另外,在hadoop3.0中支持擦除编码,物理磁盘使用量将减少一半(即3倍的磁盘空间消耗将减少到1.5倍),容错级别将提高50%。这一新的hadoop 3.0特性将为hadoop客户节省硬件基础设施方面的大笔资金,因为他们可以将hadoop集群的大小减少一半,并存储相同数量的数据,或者继续使用当前的hadoop集群硬件基础设施,并使用hdfs ec存储双倍数量的数据。阅读更多关于hdfs擦除编码和其他hadoop3 hdfs增强功能的信息。
1条答案
按热度按时间gcxthw6b1#
列数:
在这个jira中,他们成功地用15k列和20k列测试了orc文件(默认1gb堆)。文本文件可能可以存储更多的列:https://issues.apache.org/jira/browse/hive-7250 -jira是固定的。
最大文件大小。
文件分块存储,块id很长,最大值为2^63。如果块大小为64 mb,则最大大小为512字节。因此,实际上没有限制,但是hadoop还有其他限制。
这个问题太过宽泛,无法给出完整的答案,但在这项工作中,关于hadoop可伸缩性的重要结论很少:http://c59951.r51.cf2.rackcdn.com/5424-1908-shvachko.pdf
命名空间限制。
名称空间由文件和目录组成。目录定义命名空间的层次结构。数据容器中的文件被划分为大的(每个128mb)块。
名称节点的元数据由层次化名称空间和块到数据节点的Map组成,后者确定物理块位置。为了保持较高的元数据操作率,hdfs将整个名称空间保存在ram中。名称节点将名称空间映像及其修改日志持久地存储在外部内存(如本地或远程硬盘驱动器)中。名称空间映像和日志包含hdfs文件和目录名及其属性(修改和访问时间、权限、配额),包括文件的块id。为了存储1亿个文件(引用2亿个块),名称节点应该至少有60gb的ram。
磁盘空间。
由于1亿个文件平均每个有1.5个块,文件系统中将有2亿个块。如果最大块大小为128mb,并且每个块复制三次,则存储这些块所需的总磁盘空间接近60pb。
簇大小。
为了容纳1亿个文件命名空间引用的数据,hdfs集群需要10000个节点,配备8个1tb硬盘驱动器。这样一个集群的总存储容量是60pb
内部荷载。
在总存储容量为60 pb的10000节点hdfs集群上,块报告和心跳信号处理的内部负载将消耗总名称节点处理容量的30%。
更新:
关于hadoop2中的本机hdfs,所有这些都是正确的。
amazons3声称它的可伸缩性要高得多,实际上是无限的,尽管s3最终在重写和删除后的读取方面是一致的。hadoop-13345为amazons3存储的s3a客户机添加了一个可选特性:能够使用dynamodb表作为文件和目录元数据的快速一致存储。
还有其他与hadoop兼容的文件系统(hcf)。
另外,在hadoop3.0中支持擦除编码,物理磁盘使用量将减少一半(即3倍的磁盘空间消耗将减少到1.5倍),容错级别将提高50%。这一新的hadoop 3.0特性将为hadoop客户节省硬件基础设施方面的大笔资金,因为他们可以将hadoop集群的大小减少一半,并存储相同数量的数据,或者继续使用当前的hadoop集群硬件基础设施,并使用hdfs ec存储双倍数量的数据。阅读更多关于hdfs擦除编码和其他hadoop3 hdfs增强功能的信息。