HIVE简介
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询,可以将sql语句转换为MapReduce任务进行运行
同时,hive也允许熟悉map-reduce的开发者开发自定义的mapper和reducer来处理内建的mapper和reducer无法处理的复杂的分析工作。
用户发出sql命令----> hive处理并转换为MapReduce---->提交任务到hadoop并运行在hdfs
HIVE DDL
Hive建表(压缩表和非压缩表)
一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在于表文件夹的目录下
创建表:指定exterbal关键字的就是外部表,没有就是内部表。内部表在drop的时候会从hdfs上删除数据,外部表不会删除
如果不指定数据库,hive会把表创建在默认数据库下。
创建内部表:
create table if not exists my_inner_table
(id
bigint comment ‘逻辑id,记录唯一id’,
user_id
string comment ‘user_id’
) comment ‘内部表’
partitioned by (dt
string comment ‘date, yyyy-mm-dd’)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘\001’
lines terminated by ‘\n’
STORED AS TEXTFILE;
创建外部表:
create external table if not exists my_external