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);

    视图

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

  • 相关阅读:
    485串口接线
    mvc3 升级mvc5
    VB连接ACCESS数据库,使用 LIKE 通配符问题
    VB6 读写西门子PLC
    可用的 .net core 支持 RSA 私钥加密工具类
    解决 Win7 远程桌面 已停止工作的问题
    解决 WinForm 重写 CreateParams 隐藏窗口以后的显示问题
    解决安装 .net framework 发生 extracting files error 问题
    CentOS7 安装配置笔记
    通过特殊处理 Resize 事件解决 WinForm 加载时闪烁问题的一个方法
  • 原文地址:https://www.cnblogs.com/2017Crown/p/7372692.html
Copyright © 2011-2022 走看看