zoukankan      html  css  js  c++  java
  • Hive记录-Hive常用命令操作

    1.hive支持四种数据模型
    • external table ---外部表:Hive中的外部表和表很类似,但是其数据不是放在自己表所属的目录中,而是存放到别处,这样的好处是如果你要删除这个外部表,该外部表所指向的数据是不会被删除的,它只会删除外部表对应的元数据;而如果你要删除表,该表对应的所有数据包括元数据都会被删除。
    • table ---表,存储在HDFS的一个目录中。
    • partition ---分区:在Hive中,表的每一个分区对应表下的相应目录,所有分区的数据都是存储在对应的目录中。

    • bucket ---桶,对指定的列计算其hash,根据hash值切分数据,目的是为了并行,每一个桶对应一个文件(注意和分区的区别)。

    2.hive支持的数据类型

    • 基本类型:tinyint, smallint, int,bigint, boolean, float, double, string,date

    • 复杂类型:struct,map,array

    3.创建Create语句

    3.1.创建表

    create table test (id int, name string); 
    3.2.创建外部表

    create external table page(id int,page string,  ip string comment 'IP Address of the User')
    ROW FORMAT DELIMITED FIELDS TERMINATED BY '54'  STORED AS TEXTFILE  LOCATION '/usr/hive/external';

    3.3.创建分区表

    create table pageurl(id int,page string,  ip string comment 'IP Address of the User')
    PARTITIONED BY(date STRING, pos STRING) ROW FORMAT DELIMITED ‘	’  FIELDS TERMINATED BY '
    '  STORED AS SEQUENCEFILE;

    3.4.创建bucket表

    create table pageu(id int,page string,  ip string comment 'IP Address of the User')
    PARTITIONED BY(date STRING, pos STRING)
    CLUSTERED BY(userid) SORTED BY(id) INTO 32 BUCKETS
    ROW FORMAT DELIMITED ‘	’
    FIELDS TERMINATED BY '
    '
    STORED AS SEQUENCEFILE;

    3.5 创建数据库:create database test

    4.show语句

    show databases ---查询数据库

    show tables ---查询数据表

    show role grant user root ---查询用户拥有的角色

    show grant user  root ---查询用户拥有的权限

    show functions ---查询hive所有支持的函数

    DESCRIBE FUNCTION max---查询max方法的介绍

    DESCRIBE FUNCTION EXTENDED max ---查询max方法的详细介绍

    DESCRIBE test ---查询test表的结构

    describe database test;--- 查询test数据库的结构

    use test ---用test数据库

    5.drop语句

    5.1 删除表 drop table test;

    5.2 删除数据库 drop database test;

    5.3 删除角色 drop role role1;

    6.load语句

    load data (local) inpath '/usr/test.txt'  (overwrite覆盖)   into table test;

    7.insert语句

    insert overwrite local  directory '/opt/test/data'    select * from test;

    insert overwrite table test2  select * from test;

    insert into table test3 select * from test







  • 相关阅读:
    C++内存分配
    扩展哈夫曼编码
    用递归函数和栈操作逆序一个栈
    非递归遍历二叉树
    malloc/free和new/delete
    洗牌算法及其证明
    野指针问题
    计算编辑距离
    数组指针/指针数组的使用
    sizeof/strlen/length
  • 原文地址:https://www.cnblogs.com/xinfang520/p/7684599.html
Copyright © 2011-2022 走看看