Hive常用命令

本文详细介绍了Hive的基础命令,包括查看数据库、创建内外部表、管理分区、修改表结构以及删除表等操作。此外,还讲解了Hive中的复合数据类型如array、map、struct的使用,以及配置优化、常用函数和HQL与SQL的差异点。最后,讨论了Hive的基本概念,如table、partition、buckets和external table,并提供了实际应用示例。
摘要由CSDN通过智能技术生成

Hive常用命令

  1. 基础命令:

show databases; # 查看某个数据库

use 数据库;      # 进入某个数据库

show tables;    # 展示所有表

desc 表名;            # 显示表结构

show partitions 表名; # 显示表名的分区

show create table_name;   # 显示创建表的结构

# 建表语句

# 内部表

use xxdb; create table xxx;

# 创建一个表,结构与其他一样

create table xxx like xxx;

# 外部表

use xxdb; create external table xxx;

# 分区表

use xxdb; create external table xxx (l int) partitoned by (d string)

# 内外部表转化

alter table table_name set TBLPROPROTIES ('EXTERNAL'='TRUE'); # 内部表转外部表

alter table table_name set TBLPROPROTIES ('EXTERNAL'='FALSE');# 外部表转内部表

 

# 表结构修改

# 重命名表

use xxxdb; alter table table_name rename to new_table_name;

# 增加字段

alter table table_name add columns (newcol1 int comment ‘新增’);

# 修改字段

alter table table_name change col_name new_col_name new_type;

# 删除字段(COLUMNS中只放保留的字段)

alter table table_name replace columns (col1 int,col2 string,col3 string);

# 删除表

use xxxdb; drop table table_name;

# 删除分区

# 注意:若是外部表,则还需要删除文件(hadoop fs -rm -r -f  hdfspath)

alter table table_name drop if exists partitions (d=‘2016-07-01');

# 字段类型 # tinyint, smallint, int, bigint, float, decimal, boolean, string # 复合数据类型 # struct, array, map

  1. 复合数据类型

# array

create table person(name string,work_locations array<string>)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY '\t'

COLLECTION ITEMS TERMINATED BY ',';

# 数据

biansutao beijing,shanghai,tianjin,hangzhou

linan changchu,chengdu,wuhan

# 入库数据

LOAD DATA LOCAL INPATH '/home/hadoop/person.txt' OVERWRITE INTO TABLE person;

select * from person;

# biansutao       ["beijing","shanghai","tianjin","hangzhou"]

# linan           ["changchu","chengdu","wuhan"]

 

# map

create table score(name string, score map<string,int>)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY '\t'

COLLECTION ITEMS TERMINATED BY ','

MAP KEYS TERMINATED BY ':';

#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值