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()、
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值