hive 操作备忘录 hive基本操作

 

目录

hive介绍

hive基本操作

    1.数据库操作 

    2.表操作

    3.hive属性介绍

    4.管理表


    

    hive下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz        

  • hive介绍

         hive的出现是为了那些不熟悉hadoop的人群开发的,实际上hive的hsq会用xml转换成对应的mapReduse大数据之上的简化处  理模型

  • hive基本操作

           1.数据库操作          

                  1)列出所有的数据库  show databases;

                  2)列出所有已h开头的数据库  show databases LIKE ‘h.*’

                  3)创建数据库 CREATE DATABASE db;  CREATE DATABASE IF NOT EXISTS db;

                  4)删除数据库下面所有的表,因为数据下面有表的话是删不掉的。加上CASCADE就可以删除。

                                 DROP DATABASE IF EXISTS db CASCADE;

                  5)进入数据库 use database;(database 是具体的数据名)

                  6)即使我们不在那个数据库下,也可以列举出来数据库下面的表

                                                 SHOW TABLES IN db;

                  7)显示数据库所在的位置信息

                             describe database employees;

          2.表操作

                   1)查看表的详细表结构信息  都可以查看

                            DESCRIBE EXTENDED table;    DESCRIBE FORMATTED table;(推荐)列出来的信息更详细。

                   2)创建表 CREATE TABLE x (a int);  

                   3)查询表 SELECT * FORM x;

                   4)删除表 DROP TABLE x;

                   5) 复制一张表,只复制表结构不复制数据 create table if not exists wuzi_xwh2 like wuzi_xwh

                   6) 数据在本地模式插入数据

                                     load data local inpath '/root/employees.csv' into table employees;

                   7)表重新命名 

                                     ALTER TABLE log_message RENAME TO messages;

                   8)修改hive列信息

                         修改之前表中列的信息

                              

                         hive> alter table employees CHANGE COLUMN      // 
                               > salary salary_update int                                    //salary 字段修改成 salary_update  数据类型修改成int
                               > comment 'update'                                             //添加的注释
                               > after name;                                    // after 修改后的字段放到name的后面   还可以 frist 放到第一个位置

                           修改后的样子

                                        

                    9)增加列

                          alter table employees add columns (salary float);

                   10)删除或者替换列

                        alter table employees replace columns (name string);

                        执行语句之前

                           

                        执行语句之后

                            

                          这个语句可以将表中,除了columns 字段后面不指定的字段全部移除,只是修改元数据信息。

                     11)修改表的存储属性    参考大神文章: textfile,sequencefile和rcfile的使用与区别详解                   

             3.hive属性介绍

                    本地模式下的配置:

                            1) hive.metastore.warehouse.dir 告诉hive在本地文件系统中使用那个路径来存储hive表中的数据。(这个值会追                                      加到Hadoop配置文件中的属性fs.default.name的值)

                            2) hive.metastore.local 默认值是true

                            3) Javax.jbo.option.ConnectionURL 这个属性告诉hive如何连接matestore server,默认情况下,它使用当前的工

                                   作目录作为属性值字符串中的databaseName部分

                     其他属性:

                            1) set Hive.cli.print.current.db=true,开启这个属性可以在CLI提示符前打印数据库的名称,可以在hive命令行使用

                            2)修改创建的数据库在hdfs上面的位置,默认是在配置文件中配置的位置hive.metastore.warehouse.dir

                                             CREATE DATABASE db LOCATION ‘/my/preferred/directory’;

              4.管理表:

                           1)创建外部表(管理表就是外部表)

                                    CREATE EXTERNAL TABLE IF NOT EXISTS stocks(

                                             exchange STRING)

                                    ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,’

                                    LOCATION ‘/data/stocks’;

                                    关键字EXTERNAL告诉这个表示外部表。LOCATION 告诉hive数据存放在hdfs那个路径下面。

                                     如果不加 EXTERNAL创建出来的就是管理表。                                       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值