6 大数据处理技术导论 | Datawhale组队学习46期

文章目录
项目地址 ,感谢项目团队的付出 。
本次主要学习 hive 相关内容 。1. hive 概述
hive 是建立在之上的数仓工具 。它将上存储的结构化、半结构化数据文件映射为表,使得可以通过 (HQL)对存储于上的大型数据文件进行访问与分析 。
hive 本身并不存储数据,它只是提供了用户与系统文件之前的连接通道 。其核心是将 HQL 翻译成任务,然后提交至集群中进行执行,并给用户返回处理结果 。
hive 大幅降低了普通业务人员或者说数据开发(不了解 java 编程)进行大数据分析的门槛 。
hive 适合对海量数据进行离线分析,不适合对数据进行实时处理 。前边学过的 HBase 适合数据的实时处理 。
2. hive 与传统关系型数据库的对比
在使用方面,hive 和传统关系型数据库基本相同,由于其文件系统为 HDFS,hive 与传统关系型数据库还是由不少区别,详见下表对比情况 。
对比内容Hive传统关系型数据库
数据存储
HDFS
本地文件系统
索引
基本不支持
支持复杂索引
分区
支持
支持
执行引擎
、Tez、Spark
自身的执行引擎
执行延迟
高(T+1)

扩展性

有限
数据规模


3. hive 数据类型
hive 支持以下几种数据类型:
大类类型
(整型)
:1字节的有符号整数;
:2字节的有符号整数;
INT:4字节的有符号整数;
:8字节的有符号整数
(布尔型)
:TRUE/FALSE
point (浮点型)
FLOAT:单精度浮点型;
:双精度浮点型
Fixed point (定点数)
:用户自定义精度定点数,比如 (7,2)
types(字符串)
:指定字符集的字符序列;
:具有最大长度限制的字符序列;
CHAR:固定长度的字符序列
Date and time types(日期时间类型)
:时间戳;
WITH LOCAL TIME ZONE:本地时区时间戳,纳秒精度;
DATE:日期类型
types(二进制类型)
:字节序列
4. hive 数据模型
自上而下,hive 分为库、表、分区、分桶 4种数据模型 。
hive 内部表和外部表的差异总结如下:
对比内容内部表外部表
数据存储位置
内部表数据存储的位置由 hive-site.xml 中的hive...dir参数指定,
默认情况下,表的数据存储在HDFS的/user/hive//数据库名.db/表名/目录下
外部表数据的存储位置创建表时由参数指定
导入数据
在导入数据到内部表,内部表将数据移动到自己的数据仓库目录下,
数据的生命周期由Hive来进行管理
外部表不会将数据移动到自己的数据仓库目录下,
只是在元数据中存储了数据的位置
删除表
删除元数据()和 HDFS 数据文件
只删除元数据()
安全性
低(容易误删数据)

5. hive 实战
由于我的 hive 运行环境之前已经部署好了,这里不再赘述,详情可以参考 hive安装部署和管理
好久不用了,试了下,居然报错了
:java.lang.:toorg...hive.ql..
【6大数据处理技术导论 | Datawhale组队学习46期】报错的意思是说无法实例化 hive 元数据客户端,重新初始化之后也是不行 。最终通过如下命令解决
cd /opt/module/hive/bin./hive --service metastore &./hive
该命令的含义是在后台启动了 hive 元数据服务 。
5.1 创建表
hive 创建表的语法如下,实际操作时按需选择操作符即可