Hive数据仓库
概述
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能。
Hive定义了简单的类SQL查询语言,可以将sql语句转换为MapReduce任务进行运行,不必专门的MapReduce。让不熟悉MapReduce开发人员也能编写数据查询语言。
数据仓库
历史数据的存储,如关系型数据库里以前的数据。用来做数据分析的。
如电商存储的历史订单,存入数据仓库,通过对历史数据的分析,查看用户的喜好,进一步对该用户进行推荐等处理。
数据仓库容量很大,宽表。冗余数据。不需要遵循数据库三范式。
数据模型
- 星型模型
- 雪花模型
Hive的安装
MySql等其他可以用于保存Hive的元数据,如Hive的位置信息,url等。
Hive默认的保存元数据信息的是单用户的,只能连接一个客户端。
1 |
|
Hive可以作为一个thrift服务,可以通过客户端(beeline)去连接。
Hive基本操作
DDL操作(create alter drop)
创建表 语法
1
2
3
4
5
6
7
8
9CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name
[(col_name data_type [COMMENT col_comment], ...)]
[COMMENT table_comment]
[PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)]
[CLUSTERED BY (col_name, col_name, ...)
[SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]
[ROW FORMAT row_format]
[STORED AS file_format]
[LOCATION hdfs_path]修改表 语法
1
alter table student add partition(country='China');