hive 基础知识
hadoop hive
1)2007年hive出世,
2)2014hive0.13.0是非常的流行(先对来说比较稳定)
3)2015hive1.2.0(相对来说只不过是升级)
4)2016hive2.1.0(更新了很多的功能)
1.1hive元数据管理
1)通过hive对元数据进行建模加工,变成表的形式,建立数据仓库管理
2)建立一套类似于关系型数据库的形式,并不是存储在hive上,而是存储在关系型的数据库,而在hive现实中的元数据并不是存储在hadoop上
3)mysql是提供hive的存储
1.2hive的体系架构
处理大型的数据,适合做P处理的数据,
metastore:关系型数据库
Driver:核心驱动 Server:链接jdbc
1.3常用的命令:
1)Belline模式
2)命令行模式
formatted
1.4数据类型
String(万能),decimal (数组的计算)
复杂数据类型
array数组['apple','Orange','Mongo']
map(映射)['a':'apple','o':'orange']键值对
相当于一个技能水平到达了多少分
struct(可以有多个列)
1.5 元数据表结构
database是副文件夹,table是子文件夹
partition:对应的是文件夹来分析数据
buckets:分桶 查询连接的优化,决定数据如何分配,是数据文件的一部分,对应的是一个数据文件(文件数据上的分离)
row(行):对应的是一个数据文件是横看
views:查询数据数据的成像,不存数据
Index:索引,对应的是文件夹和文件
1.6 hiveDatabase(数据库)
创建database:create database name
将要切换database:use database name
默认路径:/user/hive/warehouse
1.7 hive Tables(外部表于内部表)
1)external tables(外部表):关键字创建表格时添加Location '地址',删除表不会删除数据
2)内部表(管理表):数据完全由Hive管理,删除表(元数据)会删除数据
hive建表语句
必写:row format delimited;(delimited 分割)
每个列进行|分割:fields terminated by '|'
数组我们用,分割:collection items terminated by ','
键值对我们用:分割:Map keys terminated by ':'