❤️Hive的基本知识❤️
Posted manor的大数据奋斗之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了❤️Hive的基本知识❤️相关的知识,希望对你有一定的参考价值。
💃 Hive架构
💃Hive 组件
用户接口:包括 CLI、JDBC/ODBC、WebGUI。其中,CLI(command line interface)为shell命令行;
Hive中的Thrift服务器允许外部客户端通过网络与Hive进行交互,类似于JDBC或ODBC协议。WebGUI是 通过浏览器访问Hive。
元数据存储:通常是存储在关系数据库如 mysql/derby中。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
Driver驱动程序,包括语法解析器、计划编译器、优化器、执行器 : 完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在 HDFS 中,并在随后有执行引擎调用执行。
执行引擎:Hive本身并不直接处理数据文件。而是通过执行引擎处理。当下Hive支持MapReduce、
Tez、Spark3种执行引擎。
💃 Hive基本使用
链接方式:
1.使用hive本地连接
2.开启hiveserver2远程服务,使用beeline连接
3.使用hive参数执行任务 hive -e ‘执行语句’ hive -f ‘执行脚本文件’
💃 数据存储格式
Hive中提供了多种文件存储格式:TextFile、SequenceFile、RCFile、ORC、Parquet等。不同的文件存
储格式具有不同的存储特点,有的可以降低存储空间,有的可以提高查询性能等,可以用来实现不同场景下的数据存储,以提高对于数据文件的读写效率。
TextFile:
TextFIle是Hive中默认的文件格式,存储形式为按行存储。
insert into table t_all_hero_part_dynamic partition(role) select
tmp.*,tmp.role_main from t_all_hero tmp;
–分桶表建表语句
CREATE [EXTERNAL] TABLE [db_name.]table_name
[(col_name data_type, ...)]
CLUSTERED BY (col_name)
INTO N BUCKETS;
set hive.enforce.bucketing=true;
SequenceFile:
SequenceFile是Hadoop里用来存储序列化的键值对即二进制的一种文件格式。
Parquet:
Parquet是一种支持嵌套结构的列式存储文件格式。
ORC:
ORC文件格式也是一种Hadoop生态圈中的列式存储格式。
💃 Hive中压缩配置
Hive中的压缩就是使用了Hadoop中的压缩实现的,所以Hadoop中支持的压缩在Hive中都可以直接使用。
以上是关于❤️Hive的基本知识❤️的主要内容,如果未能解决你的问题,请参考以下文章