Hive学习之三 《Hive的表的详解和应用案例详解》

Posted 木子小僧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive学习之三 《Hive的表的详解和应用案例详解》相关的知识,希望对你有一定的参考价值。

一、Hive的表

  Hive的表分为内部表、外部表和分区表。

  1、内部表,为托管表。

  2、外部表,external。

  3、分区表。

  详解:

  内部表,删除表的时候,数据会跟着删除。

  外部表,在删除表的时候,数据不会跟着删除。

      默认分隔符:列 为 \001         行分隔符为 \n

  分区表:  

  1、解决查询效率,不全表查询,只查对应的分区。

  2、避免数据重复的问题,即数据质量方面安全。

create table tablename (
字段1   字段类型 ,
字段2   字段类型 )  PARTITIONED BY (分区1 分区类型1,分区2 分区类型2)  
ROW FORMAT DELIMITED FIELDS TERMINATED BY \t;

 

二、hive的配置文件。  

  /etc/hive/conf  :

  hive-env.sh 设置环境变量相关

  hive-site.xml:属性参数配置。

  Hadoop的配置文件路径:

  /etc/hadoop/conf

三、hive的核心操作语句。

  insert和select。

  insert数据的时候必须指定分区,不指定分区就报错。

  查询的时候带分区范围,比如:分区1=’’

 

  不懂建表,看步骤一。

  1、insert的两种方式:

  ①append 是一种追加方式,基本不是特别常用。

  ②overwrite  是一种覆盖方式,操作方式为先删除,后插入。相对企业来说,安全级别高。

      Load文件:加载文件到hive表。

  ①我们先在本地建立一个文件夹,用来存储需要加载的文件,比如

     mkdir   /opt/muzi/test

     通过rz操作,上传需要加载的文件。

     load语法:

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

    应用案例代码:

  推荐使用[OVERWRITE]

LOAD DATA LOCAL INPATH /opt/muzi/text/文件1‘ overwrite INTO TABLE  tablename PARTITION (分区1=分区的东东(比如时间什么的));

  2、查询语句

  语法很简单 

select 字段名 from tablename where 分区1=分区数据 limit n行数据;

 

 

 

  

 

以上是关于Hive学习之三 《Hive的表的详解和应用案例详解》的主要内容,如果未能解决你的问题,请参考以下文章

Hive学习之三Hive 函数

Hive学习之Lateral View

Hive学习之排序

阿里云大数据利器MaxCompute学习之—假如你使用过hive

Hive学习之路 Hive SQL练习之影评案例

Hive视频_Hive详解及实战(Hive环境部署+Zeus+Sqoop Sqoop+用户行为分析案例)