当前位置:   article > 正文

hive数据仓库的应用_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()、
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/516985
推荐阅读
相关标签
  

闽ICP备14008679号