hive命令总结

1 . show databases; 

2 . use databasename; //use default

3.show tables;

4. describe tablename;//describe user

5. create table user(id int,name string); //最简单的创建表

   drop table tablename; //删除表

6. alter table user

    add columns(columnname type);    //增加一列

    alter table user

   change columnname newname type; //修改列

   alter table user 

  rename to newname; //修改表名


7 .创建表指定分隔符,否则查询得到null

    create table user(id int ,name string) row format delimited fields terminated by '\t' ;

   因为hive中的数据是存储在hdfs中的,因此可以在hdfs中/user/hive/warehouse下面可以查看到所创建的表(在hdfs        表就是一个文件夹,表中的数据就是该文件夹里面的文件)

   向表中导入数据:load data [local] inpath '/data'  [overwrite] into table user; 

        //添加local表示从本地文件库中导入,否则从hdfs 上导入 ,overwrite表示是否覆盖表中的之前的数据

8.创建分区表:将相同的特性的数据归为一类,方便操作

   create table person(id int,name string) partitioned by (flag int) row format delimited fields terminated by ' '; 

        //flag 就是一个分区标识符

  alter table person
  add partition(flag=0);   //表示增加一个flag为0分区,此时就会在person生成flag=0的文件夹

   alter table person
   drop partition(flag=0); //删除分区

  load data local inpath '/mnt/hgfs/linuxShared/hadoop/data.txt' into table person  partition(flag=0); //将数据导入到指       定的分区中

   select * from person // 将所有的分区中数据都查询出来

   select * from person where flag=0 //查询出指定分区的数据   


9.外部表:现有数据,然后创建表

   1)hadoop fs -mkdir /data    //首先创建文件夹,该文件夹指向表名

   2)create external table ex_user(id int,name string) row format delimited fields by ' ' location '/data'  //此时data文件                                                          夹就是指向ex_user表的

        

  注意:不管是内部表还是外部表都可以将数据文件上传到hdfs相应表问价下,直接查询


10.查询操作

       select * from user;

       select * from user where id=1;

       select * from user where flag=1; //flag表示分区

       select * from user order by id desc;

       select  name from user group by name;

      select  * from user u join person p  on u.id=p.id;  //hive表的连接操作只支持join连接表操作

11. hive中不支持表的更新(修改、删除)、不支持单条数据的插入操作。

      insert into/overwrite table tablename1 select fields from tablename2;


    

      

       






   

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值