Hive常用命令总结

1.建表

#建表(默认是内部表)
create table trade_detail(id bigint, account string, income double, expenses double, time string) 
row format delimited fields terminated by '\t';

#建分区表
#普通表和分区表区别:有大量数据增加的需要建分区表
create table td_part(id bigint, account string, income double, expenses double, time string) 
partitioned by (logdate string) 
row format delimited fields terminated by '\t';

#建外部表
create external table td_ext(id bigint, account string, income double, expenses double, time string) 
row format delimited fields terminated by '\t' location '/td_ext';

2.加载数据到表

#把本地数据装载到数据表,也就是在metastore上创建信息
load data local inpath '/root/a.txt' into table trade_detail; 

#把HDFS上的数据装载到数据表
load data inpath '/target.txt' into table trade_detail;

#加载数据到分区表必须指明所属分区
load data local inpath './book.txt' overwrite into table book 
partition (pubdate='2010-08-22');


3.Hive 的shell下可以执行HDFS和Linux命令:

在Hive shell下执行hadoop命令行:
#比如:hadoop fs -ls /,在hive下可以这样执行:
hive> dfs -ls /;


在Hive shell下执行linux系统命令:
!cmd;
例如:!pwd;打印当前工作目录

在Hive shell下执行sql文件:
hive> source my.sql;

hive -S 以静默模式启动hive(不打印日志信息,纸打印结果);

hive -e "HiveQL",不进入hive的交互模式,直接执行命令;

当然也可以结合静默模式一起使用:hive -S -e "HiveQL"

4.另外一些常用的命令其实就是SQL:

#描述表结构
desc tablename;

#查看创建表信息
show create table tablename;

#查看表的分区
show partitions tablename;



你可能感兴趣的:(Linux_hadoop)