Hive 实验操作 简记

启动Hive

命令:hive

建立、使用数据库

create   database   库名;

use   库名;

建表 

建立外部表

create  external  table  if  not  exists   表名(

               设置属性,如:name  string,

                                        phone  string)

row     format    delimited

fields   terminated    by   '-';

 根据查询结果创建表(查询的结果添加到新创建的表中)

create   table   if   not   exists 表2

as

select   name,phone from 表1;

 根据已经存在的表结构创建表

create   table   if   not   exists    表2   like   表1;

查询 

展示hive表格的内在属性

desc    表名;

查询表的类型 、结构

desc   formatted   表名;

 查询表信息

select   *     from    表;   //  *代表表中全部信息

修改 

修改表的属性

将表修改为内部表

alter  table   表名   set   tblproperties('EXTERNAL'='FALSE');

将表修改为外部表

alter   table   表名  set    tblproperties('EXTERNAL'='TRUE');

分区 

将数据加载到分区表中

hadoop环境中:

cat     ~/。。。。。/stu.txt     | grep 1- | wc -l

cat           stu.txt        | grep 1- | awk -F- '{print $2"-"$3}'> stu1.txt

将数据导入相关分区

load   data    local   inpath   '路径'   into  table   数据库名.分区表名    partition  ( 分区名 );

查看分区表有多少分区 

show   partitions   数据库名.分区表名

查询分区表数据 

单分区查询

select  *  from   分区表名   where   分区名    (limit    x);

limit   x   为查询x条数据

多分区联合查询

select   *   from   分区表名  where 分区1

union

select   *   from    分区表名  where 分区2 ;

创建分区 

创建单个分区

alter   table  分区表名    add   partition(分区) ;

创建多个分区

alter   table 分区表名    add    partition(分区2)     partition(分区3);

删除分区

删除单个分区

alter   table  分区表名    drop    partition(分区) ;

删除多个分区

alter   table   分区表名    drop      partition(分区2) ,   partition(分区3);

将数据导入分区 

insert  overwrite   table   分区表1  partition(分区,插入数据限制条件)

select   xxx

from   分区表

where   分区  and   。。。。;

退出

quit  

exit

你可能感兴趣的:(hive)