天天看点

hive数据仓库的应用数据仓库hive的随堂笔记

数据仓库hive的随堂笔记

hive基本内容:

hive是一个基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能。

本质是将HQL转化成MapReduce程序(底层实现)。

(1)hive处理的数据存储在HDFS。

(2)hive分析数据底层的实现是MapReduce。

(3)执行程序运行在Yarn上。

hive表的创建:

语法: create table 表名(字段名 数据类型) row format delimited fields terminated by ',';

例子:create table student(id int,name string) row format delimited fields terminated by ',';

  • row format delimited:进行数据文件行的格式化
  • fields terminated by ‘,’:指定数据文件中列的分隔符

hive表中数据加载方式:

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 ' ';

  • External:创建外部表的关键字
  • row format delimited:进行数据文件行的格式化
  • fields terminated by ‘,’:指定数据文件中列的分隔符

外部表的数据加载方式:同内部表加载方式一样

内部表与外部表的区别:

两者的主要区别在执行drop操作:

在执行drop操作时,删除内部表的时,会删除表的结构同时删除表中数据;删除外部表的时,仅仅会删除表的结构但是不会删除表中数据;

hive的数据类型

基本数据类型:

Int、boolen、tinyint、smallint、float、double、string、date、timestamps、…

复合数据类型:

array 数组,保存的是同一类型的数据

Map 保存键值对数据

Struct 保存结构化数据

hive的基本函数使用:

函数 使用 列举
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()、

继续阅读