Hive常用命令

  1. 创建库:create database 库名
  2. 创建表:create table 表名
  3. 创建外部表:createexternal table 库名
  4. 创建表格式:
    create 【external】 table 【if not exists】库名(字段1 类型1 【comment注释】,字段2 类型2 【comment注释】……)
    【comment表注释】
    【分区partitioned by(字段 类型)【注释】(表中没有的字段)】
    【分桶clustered by (字段1,字段2,……)(表中实际存在的字段)】
    【sorted by(对桶中的一个或多个列另外排序)】
    【格式化row format】
    【文件类型stored as】默认是textfile
    【location 文件路径】
    【tblproperties(‘属性名’=‘属性值’)】
    【as select 根据查询结果建表】/【like 表名】复制表结构,但是不复制数据
  5. 删除库:drop database 库名 【cascade】(删除非空库)
  6. 删除表:drop table 表名
  7. 查询表的结构:desc 表名 (table必须省略)
  8. 查询库的结构:desc database 库名
  9. 查询表的详细信息:desc formatted 表名
  10. 查询库的详细信息:desc database extended 库名;
  11. 清空表内数据:truncate table 表名(只能删除管理表中的数据)
  12. 向表中插入数据:insert into 表名 values(字段类型)
  13. 修改表内数据:update 表名 set 字段=新值 where 字段=旧值
  14. 导入本地数据:load data local inpath ‘路径’into table 表名
  15. 导入HDFS上的数据:load data inpath “路径”into table 表名
  16. 刷新:flush privilege
  17. Cli客户端登录:bin/hive
  18. 不进入hive交互窗口执行sql语句:bin/hive -e ''select * from 库名.表名"(如果不加库名.默认查找default库)
  19. 不进入hive交互窗口执行sql脚本:bin/hive -f /opt/module/datas/hivef.sql (后面跟sql脚本文件)
  20. 在Cli命令窗口中查看hdfs文件系统:dfs -ls /;
  21. 在Cli命令窗口中查看本地文件系统:! ls /opt/module/datas;
  22. 查看在hive中输入的所有历史命令:进入当前用户的根目录/root或/home/用户名,cat .hivehistory
  23. 数据类型显式转换:cast(‘12’ as int) (将字符串‘12’显式转换成int)
    例子:select ‘1’+2,cast(‘1’ as int)+2; (结果为3.0和3,前面隐式转换为double,后面显式转换为int
  24. 创建库,增加存在判断:create database if not exists 库名;
  25. 创建库,指定在HDFS上存放的位置:create database 库名 location ‘路径’;
  26. 过滤显示的数据库:show database like ‘stu*’(结果:stu1、stu2……)
  27. 给数据库添加属性:alter database 库名 set dbproperties(‘属性名’=‘属性值’);
  28. 在HDFS上创建目录:dfs -mkdir 路径;
  29. 往HDFS上传文件: dfs -put 本地文件路径 HDFS路径
  30. 创建表并关联HDFS上的数据:create table 表名(字段 属性)location ‘HDFS数据目录’;
  31. 管理表与外部表的转换:alter table 表名 set tblproperties(‘EXTERNAL’=‘TRUE/FALSE’)(必须为大写,TRUE为外部表)
  32. 分区表:
    创建分区表:create table 表名(字段 属性)partitioned by(字段 属性)row format……;
    分区表导入数据:load data local inpath 路径 into table 表名 partition(字段=‘分区值’)(分区表导入数据必须指明分区)
    查询分区表数据:select * from 表名 where 分区字段=‘值’;
    多分区联合查询:
    select * from 表名 where 分区字段=‘值1’
    union
    select * from 表名 where 分区字段=‘值2’;
    增加多个分区:alter table 表名 add partition(字段=‘值1’)partition(字段=‘值2’);(增加多个分区,partition之间什么都不加)
    删除多个分区:alter table 表名 drop partition(字段=‘值1’),partition(字段=‘值2’);(删除多个分区,partition之间加“,”)
    查看分区:show partitions 表名;
    二级分区表:
    创建分区表:create table 表名(字段 属性)partitioned by(字段1 属性1,字段2 属性2)row format……;
    分区表导入数据:load data local inpath 路径 into table 表名 partition(字段1=‘分区值’,字段2=‘值’)(分区表导入数据必须指明分区)
    查询分区表数据:select * from 表名 where 分区字段1=‘值1’and 分区字段2=‘值2’;
  33. 修改表名:alter table 旧表名 rename to 新表名;
  34. 更新列:alter table 表名 change 【column】 旧列名 新列名 列类型 【comment】【first(放在最前面)|after 列名(放在该列后)】(即使只更新字段类型,新旧字段处都要写上该字段)
  35. 增加和替换列:alter table 表名 add|replace columns (字段1 类型1,字段2 类型2,……);add添加字段在最后(分区字段之前)|replace替换表中所有列
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值