zoukankan      html  css  js  c++  java
  • hive基本操作

    1.创建表

      (1)创建内部表

          内部表:和数据库中的table基本一致,可直接理解为数据仓库中真实存在的表。

              a.每个table在hive中都有一个相应的目录存储数据(hive数据仓库文件存储在一般在HDFS的‘/user/hive/warehouse下,warehouse文件夹下的文件夹名即为表名’)  注:external表不在此目录下

              b.删除表时元数据与数据都会被删除

              

        注意:内部表创建一般分为创建表结构和导入数据两部分

        a.创建指定表结构:

      hive>>create table t1                   
        >>(tid int,tname string,age int)               #说明表结构
        >>location 'mytable/hive/t1'                #制定出创建数据表位置,location指的是hdfs系统上的位置     
    >>row format delimited fields terminated by ',';    #制定分隔符

        上面只是创建了表的基本结构,没有进行数据导入,下面进行数据导入:

      load data local inpath '/home/yu/data/test.txt' into table t1;

        b.从hive中其他表拷贝

      hive>>create table t2
        >>row format delimited fields terminated by ','  #可省
        >>as
        >>select * from t1

       (2)创建分区表

          分区表:根据一定的条件将一个表分为多个分区表,可大大提高查询效率(查询效率可以由执行计划看出explain)

       (3)创建外部表

          外部表:a.元数据和内部表相同还是存储在数据库中,但是实际数据存储则存在较大差异

              b.外部表只有一个过程,创建表和加载数据同时完成,实际数据并不会移动到hive中,只是与外部数据建立一个链接,当删除外部表时仅仅删除该链接

              c.指向HDFS中存在的数据,可创建Partition

          注意:创建外部表时因为外部表的实际数据是存储在HDFS上的,因此不需要进行数据导入,只要创建表的结构即可

        因为创建外部表需要与hdfs上面的文件进行链接,因此我们首先将需要建立连接的表导入hdfs

        hdfs dfs -mkdir /data_deal              #首先创建目录,c
        hdfs dfs -put ‘/home/yu/data/1.txt’ '/data_deal  #将本地数据导入HDFS,注意重复这一操作向该目录中导入多个数据源,创建表时会将这些数据源构造成为一个表,并且这些数据源了随时增减,

         本地数据导入HDFS后就可以正式创建外部表了:

      hive>>create external table data_deal
        >>(ip string,body string)            #此处结构一定要和导入hdfs中的文件结构对应
        >>row format delimited fields terminated by '<--->'
        >>loction '/data_deal';

    2.删除表

      drop table t1;

     3.其他的hive基本操作

      查看表的结构

      desc t1

      创建表后新加列

      alter table t1 add columns(english int);

    视图

      视图是一张虚表,唯一的作用就是简化查询,和其他的无关

  • 相关阅读:
    序列化和反序列化
    抽象类与接口
    为了忘却的纪念
    gmail和hotmail也有企业邮局
    tag's tag
    在互联网上裸奔
    音乐网站,可以自己弹琴,歌谱整理
    今天看了ning的介绍,很有意思
    昨天服务器出现问题,解决过程如下所述
    google Trends
  • 原文地址:https://www.cnblogs.com/2017Crown/p/7372692.html
Copyright © 2011-2022 走看看