美文网首页
HIVE基本语法

HIVE基本语法

作者: cllblogs | 来源:发表于2019-08-13 21:40 被阅读0次
  • 建表语句
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name 
     [(col_name data_type [COMMENT col_comment], ...)] 
     [COMMENT table_comment] 
     [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] 
     [CLUSTERED BY (col_name, col_name, ...) 
     [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] 
     [ROW FORMAT row_format] 
     [STORED AS file_format] 
     [LOCATION hdfs_path]
  • EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION)
  • LIKE 允许用户复制现有的表结构,但是不复制数据
  • COMMENT可以为表与字段增加描述
  • STORED AS
    SEQUENCEFILE
    | TEXTFILE
    | RCFILE
    | INPUTFORMAT input_format_classname OUTPUTFORMAT output_format_classname
    如果文件数据是纯文本,可以使用 STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCE 。
  • 删除表
DROP TABLE table_name
  • 修改表
查看表结构 DESC table_name;
 
新增表字段 ALTER TABLE table_name ADD COLUMNS (columns_1 STRING,columns_2 STRING); 
 
修改表名称 ALTER TABLE table_name RENAME TO table_name1;
  • 导入外部文件数据
加载数据到表中
  LOAD DATA LOCAL INPATH '/home/hadoop/data/data.txt' INTO TABLE table_name;
 
加载hdfs中的文件:  
  LOAD DATA INPATH '/user/hive/data.txt' INTO TABLE table_name;
 
复制表数据:  
  INSERT OVERWRITE TABLE table_name1 select * from table_name2;
  • 分区操作
分区表创建  
  CREATE TABLE table_name(
  ...
  )
  PARTITION BY (opt_mon STRING,opt_day STRING);
  
分区表添加分区
  alter table table_name add partition (opt_mon='201907',opt_day='20190706'); 
 
分区中添加数据
  insert overwrite table table_name1 
  partition(opt_mon='201907',opt_day='20190706') 
  select * from table_name2 where opt_mon='201907' and opt_day='20190706';
  
多分区插入数据
  from table_name1
  insert overwrite table table_name2 partition(opt_mon='201907',opt_day='20190706') select * from table_name1 where opt_mon='201907',opt_day='20190706'
  insert overwrite table table_name2 partition(opt_mon='201907',opt_day='20190707') select * from table_name1 where opt_mon='201907',opt_day='20190707'
  insert overwrite table table_name2 partition(opt_mon='201907',opt_day='20190708') select * from table_name1 where opt_mon='201907',opt_day='20190708';  
  
动态分区
前提:set hive.exec.dynamic.partition=true;  
     set hive.exec.dynamic.partition.mode=nonstrict;   
需要设置以上两个参数
insert overwrite table table_name1 partition(opt_mon='201907',opt_day)
select *,opt_day from table_name2 where opt_mon='201907'; 
opt_mon 作为静态分区列 opt_day 作为动态分区列    

动态分区不允许主分区采用动态列而副分区采用静态列,这样将导致所有的主分区都要创建副分区静态列所定义的分区

  • ...

相关文章

  • Hive 基本语法

    建表 通用建表 利用查询结果建表 建表并复制表结构 Tips TABLE 和 EXTERNAL TABLE 主要区...

  • HIVE基本语法

    建表语句 EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATIO...

  • hive基本语法

    DDL数据定义 创建数据库: 修改数据库: 显示数据库: 删除数据库 创建表 分区表 DML数据操作 查询

  • Hive 1.2.1 基本语法

    1. 借鉴 Hive 官网 LanguageManualDDL-CreateTableCreate/Drop/Tr...

  • Hive函数

    Hive函数 Hive函数 一、关系运算: 等值比较: = 语法:A=B操作类型:所有基本类型描述:如果表达式A与...

  • HIVE初步(一):基本语法

    创建表 首先看一个? create table语法和sql语句非常类似,特别的是以下几点1.external可选:...

  • 【Hive基础增强】Hive数据导入与导出

    1.向表中装载数据(Load)基本语法hive>load data local inpath '/opt/modu...

  • odps的使用

    odps是我们自主研发的一套数据处理服务。使用过hive的同学可以很快入门,语法与hive的sql基本一致。hiv...

  • HiveSQL核心技能之常用函数

    目标:1、掌握hive基础语法、常用函数及其组合使用2、掌握一些基本业务指标的分析思路与实现技巧 一、基础语法 1...

  • hive语法

    查询语句 自动升级数据类型 在做join或计算处理时候,低级的type会自动升级成高级的,如int-bigint,...

网友评论

      本文标题:HIVE基本语法

      本文链接:https://www.haomeiwen.com/subject/spsijctx.html