HIVE小结 HIVE基本语法,大数据基础知识理解

HIVE和Mysql十分类似
建表规则

HIVE小结 HIVE基本语法,大数据基础知识理解

  • 1,CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXIST 选项来忽略这个异常

  • 2,EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION)

    3.LIKE 允许用户复制现有的表结构,但是不复制数据

  • 4.COMMENT可以为表与字段增加描述

  • 创建表
    hive> CREATE TABLE IF NOT EXISTS test1
    > (id INT,name STRING);

    删除表
    drop table test1;
    查看表结构
    desc test1;
    修改表名
    alter table test1 rename to test2;
    修改表结构


    alter table test1 add columns(address string ,grade string);
    创建和已知表相同结构的表
    create table test3 like test1;
    加载本地数据
    load date local inpath '/home/date/' into table test1;
    注意可以在into 前面添加overwrite表示覆盖之前在test1的数据,如果没有就表示加载本地数据在原始数据的后面
    加载hdfs的文件
    首先将文件上传到hdfs文件系统对对应的目录上
    hadoop fs -put /home/.txt /usr/
    然后加载hdfs中的数据
    load data inpath /usr/ into table test1;

    插入数据
    insert overwrite table test2 select * from test1;
    查询数据
    和mysql语法上没甚没区别

  • 查询单个字段的数据

  • where条件查询

  • all和distinct

  • limit限制查询

  • group by

  • order by

  • sort bu

  • distribute by

  • cluster by

  • HIVE分区

    hive分区是为了更方便数据管理,常见的有时间分区和业分区

    HIVE小结 HIVE基本语法,大数据基础知识理解

    需要注意的是分区字段不能和表中的字段重复,否则就会报错:

    HIVE小结 HIVE基本语法,大数据基础知识理解

    我们在加载数据的时候也可以分区加载HIVE小结 HIVE基本语法,大数据基础知识理解

    之后我们再将同一份数据加载到不同的分区中

    HIVE小结 HIVE基本语法,大数据基础知识理解

    查询一下数据 select * from t1;

    HIVE小结 HIVE基本语法,大数据基础知识理解

    创建分区除了在创建表的时候启动partition by实现,还可以
    alter table t1 add partition (pt_d string)
    这样就创建了一个分区,这时会看到hive在hdfs中创建了相应的文件夹

    查询相应的分区的数据

    HIVE小结 HIVE基本语法,大数据基础知识理解

    添加分区,增加一个分区文件

    HIVE小结 HIVE基本语法,大数据基础知识理解

    删除分区(删除对应的分区文件)
    注意,对于外表进行drop partition并不会删除hdfs上的文件,并且通过msck repair table table_name同步回hdfs上的分区。

    HIVE小结 HIVE基本语法,大数据基础知识理解

    HIVE小结 HIVE基本语法,大数据基础知识理解

    内部表和外部表的区别

    Hive中表与外部表的区别:
    1、在导入数据到外部表,数据并没有移动到自己的数据仓库目录下,也就是说外部表中的数据并不是由它自己来管理的!而表则不一样;
    2、在删除表的时候,Hive将会把属于表的元数据和数据全部删掉;而删除外部表的时候,Hive仅仅删除外部表的元数据,数据是不会删除的!
    那么,应该如何选择使用哪种表呢?在大多数情况没有太多的区别,因此选择只是个人喜好的问题。但是作为一个经验,如果所有处理都需要由Hive完成,那么你应该创建表,否则使用外部表!

    HIVE小结 HIVE基本语法,大数据基础知识理解

    原文:

    觉得文章不错也想从事IT的朋友可关注我,微信公众号:程序员理想


分享到:


相關文章: