• Hive DDL&DML


    1.删除分区

    ALTER TABLE table_name DROP IF EXISTS PARTITION(dt='20180101')

    如果是删除多个分区,用逗号分隔:partition(dt='10'), partition(dt='11'),partition(dt='13')

    如果是外部表,记得rm对应文件

    2.添加分区

    ALTER TABLE table_name ADD IF NOT EXISTS PARTITION(dt='20180101')

    添加多个分区用逗号分隔,partition关键字不能少

    挂载目录到一个新的分区

    alter table table_name add partition(分区字段名=分区数据值) location '路径';   

     修改分区location

    alter table table_name add partition(分区字段名=分区数据值) set location '路径';

    3.删除表

    DROP TABLE table_name

    如果是外部表,记得rm对应文件

     4.添加字段

    ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...)

    注意:新添加的字段只能添加在最后一个非分区字段的后面

    如果想把字段添加在指定字段后面,可以在添加完字段后,使用下面的修改字段命令调整字段的顺序。

    5.修改字段

    ALTER TABLE table_name CHANGE [COLUMN] col_old_name col_new_name column_type [COMMENT col_comment] [FIRST|AFTER column_name]

     6.加载文件数据到数据表中

    LOAD DATA [LOCAL] INPATH 'path/file_name' [OVERWRITE] INTO TABLE table_name [PARTITION (partcol1=val1, partcol2=val2 ...)]
    

     local 表示从本地文件系统加载数据文件(cp操作,即把本地文件copy到hdfs上),默认从HDFS上加载(mv操作,完成后原文件不保留)

    7.查询结果写入到文件系统

    INSERT OVERWRITE [LOCAL] DIRECTORY directory1
      [ROW FORMAT row_format] [STORED AS file_format] 
      SELECT ... FROM ...

    默认用^A分隔列

    其他:

    show databases;

    use database_name;

    show tables [in database_name];

    show partitions table_name;

    show create table [database_name.]table_name;

    show functions;

    desc database database_name;

    desc [formatted] table_name

    desc function fun_name;

    desc function extended fun_name;

    truncate table table_name;

    drop table_name;

    注1:

    分区其实就是HDFS上表目录的子目录

    bucket就是表目录下的具体文件

    注2:

     version 0.13.0:

    如果字段都是null,则sum后为null

    如果字段都是null,count([distinct])结果为0

    注3:

    hive -e "select * from table_name limit 10"

    hive -f file_name  执行file_name中的hivesql

    注4:

    hive-site.xml: Hive的主要配置文件

    hivemetastore-site.xml: 元数据的配置文件

    hiveserver2-site.xml: HiveServer2的配置文件

    配置优先级(低->高):hive-site.xml -> hivemetastore-site.xml -> hiveserver2-site.xml -> -- hiveconf -> set

  • 相关阅读:
    Cookie的作用范围、设置、创建、获取的方法
    2020寒假总结14
    MyBatis中foreach传入参数为数组
    Springmvc接收数组参数
    寒假每日总结十
    2020寒假每日总结
    2020寒假总结八
    2020寒假每日总结七
    2020寒假每日总结四
    2020寒假总结三
  • 原文地址:https://www.cnblogs.com/vdvvdd/p/9509960.html
Copyright © 2020-2023  润新知