1.hive特别适合数据仓库程序,对于数据仓库程序不需要实时响应查询,不需要记录级别的插入、更新和删除
2.hive实现word count程序
CREATE TABLE docs(line STRING);
LAOD DATA INPAT 'docs' OVERWRITE INTO TABLE docs;
CREATE TABLE word_counts as
select word,count(1) as count from
(select explode(split(line,'\s')) as word from docs) w
group by word order by word;
3. hive中执行bash shell命令
如:!/bin/echo "what up god";
4.查询的时候打印出字段的名称设置 :
set hive.cli.print.header=true;
select * from ur_sms limit 3;
5.hive中的基本数据类型
数据类型 | 长度 | 例子 |
TINYINT | 1byte有符号整数 | 20 |
SMALLINT | 2byte有符号整数 | 20 |
INT | 4byte有符号整数 | 20 |
BIGINT | 8byte有符号整数 | 20 |
BOOLEAN | 布尔类型,true或者false | TRUE |
FLOAT | 单精度浮点类型 | 3.1419 |
DOUBLE | 双精度浮点数 | 3.14159 |
STRING | 字符序列,单引号或双引号 | ‘hello tom ’,”hello world” |
TIMESTAMP(V0.8.0+) | 整数、浮点数或者字符串 |
|
BINARY(v0.8.0+) | 字节数组 |
复杂类型
6.创建表指定其他的分割符:
create table if not exists employees(
name STRING,
salary FLOAT,
subordinates ARRAY<STRING>,
deductions MAP<STRING,FLOAT>,
address STRUCT<street:STRING,city:STRING,state:STRING,zip:INT>
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\001'
COLLECTION ITEMS TERMINATED BY '\002'
MAP KEYS TERMINATED BY '\003'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
7.读时模式
传统数据库是写时模式(schema on write),数据在写入数据库时对数据模式进行检查。Hive是在数据查询时进行模式验证,而不是加载的时候验证。