常用Hive命令速查(全)

  • Post author:
  • Post category:其他


--hive模糊搜索表:
show tables like '*name*';

--查看表结构信息:
desc table_name; desc formatted table_name;

--查看分区信息:
show partitions table_name;

--加载本地文件:
load data local inpath '/xxx/test.txt' overwrite into table dm.table_name;

--从查询语句给table插入数据:
insert overwrite table table_name partition(dt) select * from table_name;

--导出数据到本地系统:
insert overwrite local directory '/tmp/text' select a.* from table_name a order by 1;

--hive修改表名:
alter table old_table_name rename to new_table_name;

--hive复制表结构:
create table new_table_name like table_name;

--hive添加字段:
alter table table_name add columns(columns_values bigint comment 'comm_text');

--hive修改字段:
alter table table_name change old_column new_column string comment 'comm_text';

--删除分区:
alter table table_name drop partition(dt='2022-04-30');

--添加分区:
alter table table_name add partition (dt='2022-04-30');

--删除空数据库:
drop database myhive2;

--强制删除数据库:
drop database myhive2 cascade;

--删除表:
drop table test_table5;

--清空表:
truncate table test_table6;



--向hive表中加载数据
--直接向分区表中插入数据:
insert into table test_table partition(month ='202207') values ('001','002','100');

--通过load方式加载数据:
load data local inpath '/export/data/hivedatas/test_table.csv' overwrite into table test_table partition(month='201806');

--通过查询方式加载数据:
insert overwrite table test_table2 partition(month = '202206') select s_id,c_id,s_test_table from test_table1;

--查询语句中创建表并加载数据:
create table test_table2 as select * from test_table1;

--在创建表是通过location指定加载数据的路径:
create external table test_table6 (s_id string,c_id string,s_test_table int) row format delimited fields terminated by ',' location '/mytest_table';

--export导出与import导入hive表数据(内部表操作):
create table test_table2 like test_table; --依据已有表结构创建表
export table test_table to '/export/test_table';
import table test_table2 from '/export/test_table';



--hive表中数据导出(insert导出)
--将查询的结果导出到本地:
insert overwrite local directory '/export/data/exporthive' select * from test_table;

--将查询的结果格式化导出到本地:
insert overwrite local directory '/export/data/exporthive' row format delimited fields terminated by '\t' collection items terminated by '#' select * from student;

将查询的结果导出到HDFS上(没有local):
insert overwrite directory '/export/data/exporthive' row format delimited fields terminated by '\t' collection items terminated by '#' select * from test_table;

--hive表中数据导出(Hadoop命令导出)
--Hadoop命令导出到本地:
dfs -get /export/data/exporthive/000000_0 /export/data/exporthive/local.txt;

--hive表中数据导出(hive shell 命令导出)
--hive shell 命令导出(hive -f/-e 执行语句或者脚本 > file)
hive -e "select * from myhive.test_table;" > /export/data/exporthive/test_table.txt
hive -f export.sh > /export/data/exporthive/test_table.txt

--export导出到HDFS上:
export table test_table to '/export/exporthive/test_table';



--创建表时指定的一些属性:
--字段分隔符:
row format delimited fields terminated by '\t'

--行分隔符:
row format delimited lines terminated by '\n'

--文件格式为文本型存储:
stored as textfile


--命令行操作:
hive -e 'select table_cloum from table'执行一个查询,在终端上显示mapreduce的进度,执行完毕后,最后把查询结果输出到终端上,接着hive进程退出,不会进入交互模式

hive -S -e 'select table_cloum from table' -S,终端上的输出不会有mapreduce的进度,执行完毕,只会把查询结果输出到终端上。

Hive SQL 语法大全 整理


https://blog.csdn.net/weixin_40983094/article/details/110476517?spm=1001.2014.3001.5501



版权声明:本文为weixin_40983094原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。