想学大数据?那你得了解Hive文件存储格式[通俗易懂]

想学大数据?那你得了解Hive文件存储格式[通俗易懂]通常情况下,在接触Hive时我们常常着重于HiveQL语句的学习,从而忽视其他Hive相关配置的重要性,本篇文章小编将带大家了解Hive操作数据

大家好,欢迎来到IT知识分享网。

通常情况下,在接触Hive时我们常常着重于HiveQL语句的学习,从而忽视其他Hive相关配置的重要性,本篇文章小编将带大家了解Hive操作数据的基础,即Hive文件存储格式。

想学大数据?那你得了解Hive文件存储格式[通俗易懂]

Hive底层数据是以文件的形式存储在Hadoop的HDFS中,因此选择一个合适的文件存储格式,即使在不优化HiveQL语句的情况下,Hive性能也能得到提升。

想学大数据?那你得了解Hive文件存储格式[通俗易懂]

就好比我们在电脑中,使用记事本和Word文档存储同一段文字。

想学大数据?那你得了解Hive文件存储格式[通俗易懂]

记事本存储的文件相对于Word文档存储的文件要占用更小的磁盘空间。

想学大数据?那你得了解Hive文件存储格式[通俗易懂]

但是我们可以对Word文档中存储的文字进行更多的操作。

想学大数据?那你得了解Hive文件存储格式[通俗易懂]

这就是文件存储格式不同给我们带来的直观区别。

想学大数据?那你得了解Hive文件存储格式[通俗易懂]

在Hive中同样如此,选择不同的文件存储格式,代表着不同的数据存储方式,对于数据库性能的表现也会有所不同。

想学大数据?那你得了解Hive文件存储格式[通俗易懂]

常见的Hive文件存储格式包括文本格式文件(TextFile)、二进制序列化文件(SequenceFile)、和行列式文件(ORCFile)。接下来,小编将对这三种文件存储格式进行介绍。

想学大数据?那你得了解Hive文件存储格式[通俗易懂]

TextFile

  • Hive默认文件存储方式
  • 存储方式为行式存储
  • 自身不支持压缩和分片
  • 通过LOAD和INSERT两种方式加载数据。

SequenceFile

  • 将数据存储为序列化的键值对形式,其中值为原始数据,键为生成的内容
  • 存储方式为行式存储
  • 自身支持两种压缩RECORD和BLOCK,其中RECORD表示只对值进行压缩,BLOCK表示键值都会被压缩
  • 自身支持切片
  • 通过INSERT方式加载数据

ORCFile

  • ORCFile是RCFile的优化版本
  • 存储方式为行列存储
  • 自身支持两种压缩ZLIB和SNAPPY,其中ZLIB压缩率比较高,常用于数据仓库的ODS层,SNAPPY压缩和解压的速度比较快,常用于数据仓库的DW层
  • 自身支持切片
  • 通过INSERT方式加载数据
想学大数据?那你得了解Hive文件存储格式[通俗易懂]

ORCFile以其高效的数据存储和数据处理性能得以在Hive的实际生产环境中大量运行。

想学大数据?那你得了解Hive文件存储格式[通俗易懂]

存储方式分为行式存储、列式存储和行列存储:

  • 行式存储按行将数据存储在底层文件系统中,便于对于整行数据的修改,但是单列读取时也会读取整行数据。
  • 列式存储以列为单位存储在底层文件系统中,便于单列的读取与统计,但是整行操作性能较差。
  • 行列存储是列式存储的特殊形式,先基于行对数据进行分组,然后基于列对每组数据进行存储。行列存储结合了行式存储和列式存储的优点。

当HiveQL语句需要执行MapReduce任务时,切片是指在MapReduce任务中是否支持对文件进行Split(分割)成多个分片,每个分片交给一个Mapper处理,可以多个Mapper并行处理,提升MapReduce程序执行效率。

到这里,我们就对Hive文件存储格式有了一个比较清晰的认识。通过修改Hive文件存储格式去优化Hive性能只是Hive性能优化的冰山一角,要学习的东西还有很多,希望读者在掌握Hive语法格式的同时,多多了解Hive的性能优化知识,对自身能力进行提升。

Hive性能优化不仅可以提高我们的工作效率,而且还可以避免系统资源的浪费,减少因性能出错的机率。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/6252.html

(0)
上一篇 2022-12-17 07:20
下一篇 2022-12-17 07:40

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信