• Hive命令学习


    创建修改

    创建表

    CREATE TABLE testtable (foo INT, bar STRING);

    CREATE TABLE testtable LIKE other;

    CREATE TABLE logs(ts bigint,line string) PARTITIONED BY (dt String,country String);
    注:hive建表的时候默认的分割符是'01',若在建表的时候没有指明分隔符,load文件的时候文件的分隔符需要是'01'
    建表指定分隔符,例:

    create table pokes(foo int,bar string) 
      row format delimited fields
      terminated by '	'
      lines terminated by '
    ' stored as textfile;
    load data local inpath '/root/pokes.txt' into table pokes;

    更新命令

    更新表的名称:
    ALTER TABLE source RENAME TO target;

    添加新一列
    ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');

    从本地文件加载数据:
    hive> LOAD DATA LOCAL INPATH '/home/hadoop/input/ncdc/micro-tab/sample.txt' OVERWRITE INTO TABLE records;

    删除表:
    DROP TABLE records;

    分区表语法

    添加分区表语法(表已创建,在此基础上添加分区):ALTER TABLE table_name ADD
    partition_spec [ LOCATION 'location1' ]
    partition_spec [ LOCATION 'location2' ] ...

    ALTER TABLE day_table ADD
    PARTITION (dt='2008-08-08', hour='08')
    location '/path/pv1.txt'

    删除分区语法:ALTER TABLE table_name DROP
    partition_spec, partition_spec,...

    用户可以用 ALTER TABLE DROP PARTITION 来删除分区。分区的元数据和数据将被一并删除。例:

    ALTER TABLE day_hour_table DROP PARTITION (dt='2008-08-08', hour='09');

    数据加载进分区表中语法

    LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]

    例:

    LOAD DATA INPATH '/user/pv.txt' INTO TABLE day_hour_table PARTITION(dt='2008-08- 08', hour='08'); LOAD DATA local INPATH '/user/hua/*' INTO TABLE day_hour partition(dt='2010-07- 07');
    当数据被加载至表中时,不会对数据进行任何转换。Load操作只是将数据复制至Hive表对应的位置。数据加载时在表下自动创建一个目录

    查看命令

    展示表中有多少分区:

    SHOW PARTITIONS logs;

    SHOW TABLES '.*s';

    显示表的结构信息

    DESCRIBE testtable;

    显示所有函数:
    hive> show functions;

    查看函数用法:
    hive> describe function substr;

    查看数组、map、结构
    hive> select col1[0],col2['b'],col3.c from complex;

    参考源:http://blog.csdn.net/xiaoping8411/article/details/7605039

  • 相关阅读:
    eclips git中的add to Index无效解决
    关于Promise 简单使用理解
    小程序顶部可滚动导航
    读jQuery源码
    Web UI
    JavaScript滚动条插件源码
    Ajax异步刷新地址栏url改变(利用Html5 history.pushState实现)
    angular2如何按需加载?
    如何把bootstrap用webpack打包
    typings的理解
  • 原文地址:https://www.cnblogs.com/cfox/p/3396337.html
Copyright © 2020-2023  润新知