Hive DDL语句实例—数据库相关操作
【实验目的】
1) 掌握Hive的数据类型
2) 掌握hive的DDL语句的使用
3) 掌握hive的常见DDL语句的用法
【实验原理】
Hive支持多种不同长度的整型和浮点型数据类型,支持布尔类型,也支持无长度限制的字符串类型。
Hive中的列支持使用struct,map和array集合数据类型。
HiveQL所谓的数据定义语言部分,其用于创建,修改和删除数据库、表、视图函数和索引。
【实验环境】
本次环境是:centos6.5 +jdk1.7.0_79+hadoop-2.4.1+hive-0.12.0
一、DDL常见操作
启动mysql `service mysql start`,首先执行命令cd /simple/hive-0.12.0/bin进入hive的安装目录bin目录下,执行命令./hive进入hive运行环境,执行创建数据库的命令create database financials和create database if not exists financials ,执行这些命令之前,确保正常启动hadoop服务,执行命令start-all.sh
考虑以上两种语句的区别?
create database financials创建数据库financials时如果financials已存在则会创建失败,create database if not exists financials可以成功执行
查看所有数据库
使用LIKE或者正则表达式查看数据库
like后面的“f.*”表示什么意思?
答:查找满足以f开头的数据库名,*表示通配符
查看数据库的详细信息
可以看出:数据库所在目录位于:hdfs://localhost:9000/user /hive/warehouse/financials.db目录中
修改数据库所在目录,执行命令"create database financials1 location 'user/hive/warehouse/test';"(必须以分号结尾),
为数据库增加描述信息
为数据库增加属性信息
extended关键字添加与不添加的区别?
答:extended关键字不添加的话数据库的属性消息不会显示出来
使用数据库
修改数据库
Hive SQL语句select使用函数计算
【实验目的】
1) 掌握Hive的数据类型
2) 掌握hive的数据类型的使用
3) 掌握hive的DDL语句的操作
【实验原理】
Hive支持多种不同长度的整型和浮点型数据类型,支持布尔类型,也支持无长度限制的字符串类型。
Hive中的列支持使用struct,map和array集合数据类型。
【实验环境】
本次环境是:centos6.5 +jdk1.7.0_79+hadoop-2.4.1+hive-0.12.0
在/simple 目录下准备好employees.txt文件内容如下:
在/simple目录下编辑create.hql文件内容如下:
hive中执行此文件
在命令终端中,执行命令:start-all.sh启动hadoop服务
在终端中执行命令:cd /simple/hive-0.12.0/bin进入hive的安装目录bin目录下,执行命令:./hive ,并在hive命令行中执行以下语句:source /simple/create.hql; 如果想再执行hive的命令时,不打印日志信息在shell界面,可以执行命令:./hive -S即可
描述表结构
hive命令行中输入:describe employee
向表中插入数据
通过load命令把本地数据加载到表中
Select语句查询详解
使用索引查询集合数据类型中的元素。数组索引是基于0的,这和java中是一样的,下面是选择subordinate数组中的第一个元素的查询
引用map类型中的一个元素。用户可以使用ARRAY[…]语法,但是使用的是键值而不是整数索引,
引用struct中的一个元素,用户可以使用“.”符号
使用列值进行计算
查询所有用户的年薪(税前),假设一年工资为15个月
查询用户扣除联邦税后实际到手的年薪
执行语句“select count(*) from employee;”查询一共有多少员工
可以看出底层的查询是通过map-reduce来完成的
执行语句"select avg(salary) from employee;"查询员工的平均工资
可以看出底层的查询是通过map-reduce来完成的
执行语句"select sum(salary) from employee;"查询出公司发放的薪水总额
可以看出底层的查询是通过map-reduce来完成的。
Hive DDL 语句实例—表相关操作
实验目的】
1) 掌握Hive的数据类型
2) 掌握hive的DDL语句的使用
3) 掌握hive的常见DDL语句的用法
【实验原理】
Hive支持多种不同长度的整型和浮点型数据类型,支持布尔类型,也支持无长度限制的字符串类型。
Hive中的列支持使用struct,map和array集合数据类型。
HiveQL所谓的数据定义语言部分,其用于创建,修改和删除数据库、表、视图函数和索引。
【实验环境】
本次环境是:centos6.5 +jdk1.7.0_79+hadoop-2.4.1+hive-0.12.0
【实验步骤】
一、DDL常见表操作
启动mysql `service mysql start`,创建表,创建表之前,确保启动hadoop服务和进入hive shell环境,分别执行命令:start-all.sh 和 cd /simple/hive-0.12.0/bin在hive安装目录bin下,执行./hive命令
通过拷贝已有的表来创建新表
显示所有的表
使用正则表达式过滤表
描述表的详细信息
extended使用前后的区别?
答:使用describe extended emp;会显示表的详细信息
描述表中某一列的详细信息
删除表
表重命名
修改列信息。
增加列
删除或者替换列
修改表属性