hive 二 命令行使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yidan7063/article/details/80904991

创建数据库:

create database  if not db_test location(可选) 自定义数据库地址 ;

查询数据库:

show database;

show databases like 'db_'; 模糊查询数据库

使用数据库:

use db_test;

查看数据库信息:

desc database db_test;

desc extended db_test; 查看详细信息

删除数据库:

drop  database if exists  db_test ;

drop  database db_test  cascade;  数据库中有表时直接删除

创建表:默认创建内部表 也就是managed_table

 ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t  字段之间的分割方式 

STORED AS  TEXTFILE 数据格式 默认为text

1.  create table testA(id int COMMENT '字段说明', name string) 

    ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'

    STORED AS  TEXTFILE   

    LOCATION '表数据存储的位置' ;

2. create table testB AS select * from  testA;

3. creat table testC like testA;

创建外部表:删除外部表不会删除表数据只会删除元数据

create external  table testD like testA;

查看表结构 :

desc tableName 或desc formatted  tableName 

加载数据

load data local inpath '路径'  into table tableName;

数据处理:

将数据加载到hive中,通过python等脚本将数据进行处理转换,然后通过create table select创建新的表(真正进行处理的表)。

创建分区表:分区表就是将一个大的数据集根据具体的需求分为许多小的数据集,在hive中就是分目录

在查询的时候通过where子句中表达式来选择查询所需要的指定的分区

create table testA(id int COMMENT '字段说明', name string) 

partition by(year string)  //以year进行分区,分区类型是string

 ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'

分区表加载数据:

load data local inpath '路径'  into table tableName partiton(year='2018') ;

二级分区:

partition by(year string,month string) 在一级分区的基础上,多增加一个分区字段

加载数据:

partiton(year='2018',month='7') ;

添加表的分区数量:

修复分区信息msck repair table testA;自己创建目录然后将数据加载到增加分区的目录下,最后修复分区信息

或者 alter table testA add partition(day='201809');先增加分区信息然后加载数据。

shwo partitions testA; 查看分区数量

加载数据:

load data [local] inpath 'filepath'  [overwrite] into table tableName partition (partition1=value1) 分区表需要加载分区信息;

local: 表示是本地的,不加则是hdfs。

overwrite:是否覆盖原有数据,有需要则加上。

在创建表的的时候通过location来加载表数据

将查询结果放置到另一个目录:

insert overwrite  local directory  '/opt/data/test'  

ROW  FORMAT DELIMITED FIELDS TERMINATED BY '\t' 

select * from testA;

也可以用hive -e "sql" >  file   来实现。

猜你喜欢

转载自blog.csdn.net/yidan7063/article/details/80904991