赞
踩
hive是一个基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能。
本质是将HQL转化成MapReduce程序(底层实现)。
(1)hive处理的数据存储在HDFS。
(2)hive分析数据底层的实现是MapReduce。
(3)执行程序运行在Yarn上。
语法: create table 表名(字段名 数据类型) row format delimited fields terminated by ',';
例子:create table student(id int,name string) row format delimited fields terminated by ',';
1.直接插入:
insert into student values(9,'stu1');
2.加载本地数据文件到hive表中:
load data local inpath '/usr/local/data.txt' into table student;
3.加载HDFS上数据文件到hive表中:
load data inpath '/data/data.txt' into table student;
语法: create external table 表名(字段名 数据类型)row format delimited fields terminated by ' ';
例子: create external table student3(id int,name string)row format delimited fields terminated by ' ';
外部表的数据加载方式:同内部表加载方式一样
两者的主要区别在执行drop操作:
在执行drop操作时,删除内部表的时,会删除表的结构同时删除表中数据;删除外部表的时,仅仅会删除表的结构但是不会删除表中数据;
Int、boolen、tinyint、smallint、float、double、string、date、timestamps、…
array 数组,保存的是同一类型的数据
Map 保存键值对数据
Struct 保存结构化数据
函数 | 使用 | 列举 |
---|---|---|
Split(string A,分隔符) | 根据分隔符将字符串A切分成多个字段 | select split(line,’ ') from textword; |
Size(数组名) | 求数组长度 | select size(split(line,’ ')) from textword; |
Explode() | 将一行中多列的内容转换成多行 | select explode(split(line,’ ')) from textword; |
Round(double A) | 四舍五入函数 | select round(3.1415926); |
Round(double A,int B) | 保留数据A后的B位小数 | select round(3.5415926,2); |
Round(double A,int B) | 保留数据A后的B位小数 | select round(3.5415926,2); |
Length(string A) | 求字符串的长度 | select length(line) from textword; |
Reverse(string A) | 获取字符串A的反串 | select reverse(‘asdfg’); |
Upper(string A) | 字符串转换成大写字符 | select upper(“asbh”); |
Lower(string B) | 字符串转换成小写字符 | select lower(‘SKJ’); |
Avg() 、sum()、min()、max()、 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。