首页 > 其他分享 >hive常用命令

hive常用命令

时间:2022-10-12 10:02:43浏览次数:52  
标签:hft hive 查询 分区表 Hive 常用命令 TABLE

1.创建数据(文本以tab分隔)

vim test1_hive

hive常用命令_数据

2.创建新表

CREATE TABLE t_hive (a int, b int, c int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|';

3.导入数据test1_hive到t_hive表

LOAD DATA LOCAL INPATH '/lost+found/test1_hive' OVERWRITE INTO TABLE t_hive ;

hive常用命令_分区表_02

4.查看表数据

查看表

show tables;

正则表达式匹配表名

show tables '*i*';

查看表数据

select * from t_hive;

hive常用命令_分区表_03

查看表结构

desc  t_hive;

hive常用命令_数据_04

5.修改表

增加字段

ALTER TABLE t_hive ADD COLUMNS (d String);

修改表名

ALTER TABLE t_hive RENAME TO t_wang;

hive常用命令_分区表_05

6.删除表

drop table t_wang;

7.hive交互式模式

quit,exit:  退出交互式shell
reset: 重置配置为默认值
set <key>=<value> : 修改特定变量的值(如果变量名拼写错误,不会报错)
set: 输出用户覆盖的hive配置变量
set -v : 输出所有Hadoop和Hive的配置变量
add FILE[S] *, add JAR[S] *, add ARCHIVE[S] * : 添加 一个或多个 file, jar, archives到分布式缓存
list FILE[S], list JAR[S], list ARCHIVE[S] : 输出已经添加到分布式缓存的资源
list FILE[S] *, list JAR[S] *,list ARCHIVE[S] * : 检查给定的资源是否添加到分布式缓存
delete FILE[S] *,delete JAR[S] *,delete ARCHIVE[S] * : 从分布式缓存删除指定的资源
! <command> : 从Hive shell执行一个shell命令
dfs <dfs command> : 从Hive shell执行一个dfs命令
<query string> : 执行一个Hive 查询,然后输出结果到标准输出
source FILE <filepath>: 在CLI里执行一个hive脚本文件

8.数据导入

之前已经导入了数据,现在HDFS中查找刚刚导入的数据

hadoop fs -cat /user/hive/warehouse/t_wang/test1_hive

hive常用命令_hive_06

从其他表导入数据

CREATE TABLE t_hive2 (a int, b int, c int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|';     #创建表
INSERT OVERWRITE TABLE t_hive2 SELECT * FROM t_hive;

hive常用命令_分区表_07

仅复制表结构不导数据

CREATE TABLE t_hive3 LIKE t_hive;

9.数据导出

从HDFS复制到HDFS其他位置

hadoop fs -cp /user/hive/warehouse/t_hive /

hive常用命令_数据_08

查看复制

hadoop fs -ls /t_hive

hive常用命令_分区表_09

hadoop fs -cat /t_hive/test1_hive

hive常用命令_分区表_10

通过Hive导出到本地文件系统

INSERT OVERWRITE LOCAL DIRECTORY '/tmp/t_hive' SELECT * FROM t_hive;

hive常用命令_数据_11

查看本地操作系统

! cat /tmp/t_hive/000000_0;

hive常用命令_数据_12

10.Hive查询HiveQL

普通查询:排序,列别名,嵌套子查询

hive常用命令_数据_13

连接查询:JOIN

hive常用命令_hive_14

hive常用命令_数据_15

聚合查询1:count, distinct

hive常用命令_数据_16

hive常用命令_数据_17

聚合查询2:count, avg

hive常用命令_数据_18

hive常用命令_分区表_19

聚合查询3:GROUP BY, HAVING

hive常用命令_分区表_20

hive常用命令_hive_21

hive常用命令_数据_22

hive常用命令_数据_23

11.hive视图

create view v_hive as select a,b from t_hive where c>30; 

hive常用命令_数据_24

删除视图

drop view v_hive;

12.hive分区表

分区表是数据库的基本概念,但很多时候数据量不大,我们完全用不到分区表。Hive是一种OLAP数据仓库软件,涉及的数据量是非常大的, 所以分区表在这个场景就显得非常重要。

下面我们重新定义一个数据表结构:t_hft

创建数据

vim /lost+found/t_hft_1  

     000001,092023,9.76
000002,091947,8.99
000004,092002,9.79
000005,091514,2.2
000001,092008,9.70
000001,092059,9.45

vim /lost+found/t_hft_2

     000001,092023,9.76
000002,091947,8.99
000004,092002,9.79
000005,091514,2.2
000001,092008,9.70
000001,092059,9.45

创建数据表

     DROP TABLE IF EXISTS t_hft;  

CREATE TABLE t_hft(
SecurityID STRING,
tradeTime STRING,
PreClosePx DOUBLE
) PARTITIONED BY (tradeDate INT)

ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

hive常用命令_分区表_25

导入数据

LOAD DATA LOCAL INPATH '/lost+found/t_hft_1' OVERWRITE INTO TABLE t_hft PARTITION (tradeDate=20160220);
LOAD DATA LOCAL INPATH '/lost+found/t_hft_2' OVERWRITE INTO TABLE t_hft PARTITION (tradeDate=20160221);

hive常用命令_数据_26

查看分区表

SHOW PARTITIONS t_hft;

hive常用命令_hive_27

查询数据

select * from t_hft where securityid='000001';

hive常用命令_数据_28

select * from t_hft where tradedate=20160220 and preclosepx<9;  

hive常用命令_hive_29

13.动态写入分区表

创建分区表

hive常用命令_分区表_30

导入数据

hive常用命令_hive_31

批量导入新建的分区表

hive常用命令_hive_32

14.导出表中的数据到文件

export table dept_count to '/lost+found/hive_dept_count_o';

hive常用命令_hive_33

15.不需要打开命令行界面,直接执行完查询

hive -e 'use test;select * from t_hive';

hive常用命令_分区表_34

16.有时候需要执行多个查询,可以通过操作文件来执行 

hive常用命令_hive_35

hive -f test.sql

hive常用命令_数据_36

17.hive中直接查看hdfs中的文件

dfs -ls /;

hive常用命令_hive_37

18.查看已经存在的数据库

describe database test;

hive常用命令_hive_38

19.查看表的详细信息及注释

desc formatted student;  

hive常用命令_分区表_39

标签:hft,hive,查询,分区表,Hive,常用命令,TABLE
From: https://blog.51cto.com/u_13753753/5748987

相关文章

  • hive窗口函数极速入门
    1over()窗口函数1.1语法结构分析函数over(partitionby列名orderby列名rowsbetween开始位置and结束位置)1.2over中的三个函数具体含义orderby:排序的意......
  • Linux中的hive使用小技巧
    Linux中的hive使用小技巧1在hive中可以看出我们在那一层中,而且可以显示表中的字段2配置如下(CDH中):目录如下:在目录汇总添加如下参数(为隐藏文件使用ls-a命令查看即......
  • Hive数据导出的几种方式
     在hive的日常使用中,经常需要将hive表中的数据导出来,虽然hive提供了多种导出方式,但是面对不同的数据量、不同的需求,如果随意就使用某种导出方式,可能会导致导出时间过长,导......
  • Vim常用命令
     多窗口模式:split创建新窗口ctrl+w切换Ctrl-w=所有窗口一样高Ctrl-w+方向键多个视窗间切换2、标记ma在光标所在处做一个名为a的标记。最多可以在文本中做26个标记......
  • docker常用命令
    启动docker服务:systemctlstartdocker停止docker服务:systemctlstopdocker重启docker服务:systemctlrestartdocker查看docker服务状态:systemctlstatusdocker......
  • DBA常用命令
    重点掌握:数据的导入和导出(数据的备份)其他命令了解一下即可。(这个培训日志文档留着(网盘里),以后忘了,可以打开文档复制粘贴。)数据导出?注意:在windows的dos命令窗口中:mysq......
  • windows 常用命令
    find命令:netstat-an|find"443"  查看路由route  print添加一条路由routeadd  目标IP  mask255.255.255.255下一跳IP-p删除路由routedelete10.10......
  • 华为交换机配置聚合链路常用命令
    配置Eth-Trunk1聚合链路interfaceEth-Trunk1创建Eth-Trunk1接口modemanualload-balance指定为手工负载分担模式intg0/0/1进入接口eth-trunk1将接口g0/0......
  • python接口自动化-pytest常用命令
    1.pytest拥有丰富的入参选项,常用参数如下:-m:只运行被标记的测试用例;-k:只运行与给定字符串表达式匹配的类名下的测试用例;-s:显示标准输出,例如print()的语句;-v:显示详细报告......
  • 华为交换机STP常用命令
    STP配置和选路规则stpenable在交换机上启用STPstpmodestpdisstp查看stp配置disstpbrief查看接口摘要信息stppriority4096修改交换机优先级为4096stpro......