zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Thymeleaf 异常:Exception processing template "index": An error happened during template parsing (template: "class path resource [templates/index.html]")
    Java 异常 Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date'
    MySQL 查询字段时,区分大小写
    Oracle Database XE 11gR2 SQL 命令行的显示调整
    使用 PL/SQL Developer 导入 .sql 文件
    下载、安装 PL/SQL Developer
    安装、验证安装 Oracle Database XE 11gR2
    下载 Oracle Database XE 11gR2
    MyEclipse 设置打开 jsp 文件的默认编辑器
    Oracle Database XE 11gR2 自带的用户,新建用户,修改用户密码
  • 原文地址:https://www.cnblogs.com/vdvvdd/p/9509960.html
Copyright © 2011-2022 走看看