美文网首页
Hive之相关概念

Hive之相关概念

作者: 每天进步一点点变成更好的自己 | 来源:发表于2022-10-16 12:54 被阅读0次

HIVE SQL的编译过程:https://tech.meituan.com/2014/02/12/hive-sql-to-mapreduce.html

数据模型

想要把MP任务变成SQL语句,需要先把数据结构化,才能用SQL语句查询。
HIVE的数据通过表来抽象,数据由多行记录构成,一行记录包含多个字段,每个字段有特定的类型。
HIVE支持的类型:整数、浮点数和字符串;支持的复杂类型包含:数组、字典和结构体;同时允许自定义字段类型。
HIVE通常采用宽表结构,把一个对象的所有字段保存在一张表中。避免join操作,join操作一般需要跨服务器交互,成本高而且性能差。
HIVE的数据表支持分区和分桶操作,hive的分区方式属于静态分区,主要执行批处理作业,一次扫描大量连续的数据,数据只要按照过滤条件静态分区即可。

  • 分区
    分区:根据指定字段的值,把数据分到不同的区,每个值一个区。以后可以根据这个字段来查询数据,就会只扫描对应分区的数据,而不用读全部数据。比如按照日期进行分区。
  • 分桶
    分桶:根据指定字段的值,把数据分到固定个数的桶中,比如指定32个桶,通过哈希的方式让数据分布到不同的桶中。分桶可以用于采用分析。

数据存储

HIVE的数据表存储在HDFS上,一张表对应了HDFS的一个目录,对数据表分区,就是以分区字段的值作为目录名,创建子目录,分区数据保存在子目录中。
对数据表分桶,就是把原来的一个文件,分成多个文件,有几个桶就拆成几个文件。至于分桶后的文件放在哪里,就看在表上分桶,还是在分区上分桶。如果在表上分桶,就存储在表的根目录,如果在分区上分桶,就存储在对应的分区目录。
HIVE通过序列化和反序列化器,指定应用层数据模型和存储数据模型之间的转换规则。比如以什么作为分隔符,又以什么作为字段分隔符。

HIVE通过文件格式指定数据如何存储到文件中,比如是以文本格式存储,还是以二进制格式存储,还是使用列式存储。

系统架构

HIVE的整体架构并不复杂,总共分为3个部分。

  • 对外接口
    对外接口包括命令行、web界面、thrift接口,以及JDBC和ODBC驱动。通过thrift接口,HIVE可以支持其他语言的客户端的调用。
  • 驱动器
    驱动器管理了HIVEQL语句的生命周期,它通过编译器和优化器创建执行计划,通过执行器执行计划。
  • Metastore
    Metastore存储了Hive的各种元数据,包括表的名称和位置、列的名称和类型等。

相关文章

  • Hive之相关概念

    HIVE SQL的编译过程:https://tech.meituan.com/2014/02/12/hive-sq...

  • Hadoop(三)Hive基础

    大数据须知之Hive的概念

  • hive学习

    1 Hive Metastore 1.1相关概念 Hive Metastore有三种配置方式,分别是: Embed...

  • 2020-04-13

    大数据之Hive 一.Hive基本概念 1.什么是Hive Hive是Facebook开源用于处理 海量 结构化 ...

  • Hive 基础搭建教程

    需要安装Hadoop,教程:Hadoop 基础搭建教程 需要了解Hive基本概念:Hive 基础知识 1. 相关依...

  • Hive正则表达式

    参考维基百科、Hadoop Hive概念学习系列之hive的正则表达式初步(六)和Hive 正则匹配函数 之前没有...

  • 数仓--Hive--面试题准备

    数仓--Hive-面试之Hive与HBase的区别数仓--Hive-面试之Hive架构原理数仓--Hive-面试之...

  • hive相关知识

    hive概念 hive的兼容性 hive日志 启动hive hive中除了保存真正的数据以外还要额外保存用来描述库...

  • hive相关

    HQL优化 1. HQL优化 一、避免or操作的不当。如果where子句中有多个条件,并且其中某个条件没有索引,使...

  • hive 相关

    hive 相关 搭建hadoop和hive,mysql的环境,过程截图 1.hadoop install 2.m...

网友评论

      本文标题:Hive之相关概念

      本文链接:https://www.haomeiwen.com/subject/taqzfrtx.html