HiveQL:数据定义

实验目的

  1. 掌握应用HiveQL创建数据库
  2. 掌握应用HiveQL创建表
  3. 掌握应用HiveQL创建视图
  4. 硬件环境要求

实验环境

PC机至少4G内存,硬盘至少预留50G空间。

  1. 软件要求

已安装并启动Hadoop

已安装并启动Hive

实验要求

  1. 应用HiveQL创建数据库
  2. 应用HiveQL创建表
  3. 应用HiveQL创建视图

实验步骤

第5章 HiveQL:数据定义

1     应用HiveQL创建数据库

1.1   进入Hive命令模式:

实验操作演示:

 

所用命令或代码:

# hive

1.2   创建数据库hive

实验操作演示:

 

所用命令或代码:

hive> create database hive;

如果hive数据库已经存在,则会抛出异常,可以加上if not exists关键字,则不会抛出异常。

hive> create database if not exists hive;

1.3   查看创建好的数据库

实验操作演示:

 

所用命令或代码:

hive> show databases;

1.4   使用创建好的数据库

实验操作演示:

 

所用命令或代码:

hive>use hive;

2     应用HiveQL创建表

2.1   在hive数据库中,创建表usr,含三个属性id,name,age

实验操作演示:

 

所用命令或代码:

hive>create table if not exists usr(id bigint,name string,age int);

2.2   创建表时定义分隔符

 

所使用命令:

# create table employee (id int,name string,salary int,position string) row  format  delimited  fields  terminated  by ' ' ;

2.3   复制表

2.3.1    复制表结构和数据

 

所使用命令:

# create table employee2 as select * from employee ;

查询结果:

 

2.3.2    复制表结构

 

所使用命令:

# create table employee3 like employee;  

查询结果:

 

2.4   创建分区表

分区表可以从目录的层面控制搜索数据的范围。

2.4.1    创建分区表

 

所使用命令:

# CREATE TABLE t(id int,name string,age int) PARTITIONED BY (Year INT, Month INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ;

2.4.2    添加分区,创建目录

 

# alter table t add partition (year=2014, month=11) partition (year=2014, month=12);

2.4.3    显式表的分区信息

 

所使用命令:

# SHOW PARTITIONS t;

2.4.4    删除分区

 

所使用命令:

# ALTER TABLE t DROP IF EXISTS PARTITION (year=2014, month=12);

2.5   查看分区结构

 

如上图所示:

/user/hive/warehouse/hive.db/t/year=2014/month=11

/user/hive/warehouse/hive.db/t/year=2014/month=12

所使用命令:

# dfs -lsr /;

2.6   查看表结构

 

所使用命令:

# desc employee;

3     应用HiveQL创建视图

3.1   创建视图little_usr,只包含usr表中id,age属性

实验操作演示:

 

所用命令或代码:

hive>create view little_usr as select id,age from usr;

3.2   查看数据库hive中所有表和视图

实验操作演示:

 

所用命令或代码:

hive> show tables;

3.3   查看数据库hive中以u开头的所有表和视图

实验操作演示:

 

所用命令或代码:

hive> show tables in hive like 'u*';

总结与提高

  1. 提高学生的动手操作能力,使用HiveQL创建数据库、创建表和视图。
原文地址:https://www.cnblogs.com/zhouyeqin/p/12275521.html