招聘岗位上到处都要求熟练的Hive究竟是何方神圣?

2020-04-15  本文已影响0人  及未来

简介

    Hive是基于Hadoop的数据仓库大数据组件。将易上手的SQL语句转化成MapReduce作业

数据结构

  1. 元数据
    Hive存储的是一张张的数据表,而元数据就是其中的表结构
    存储形式:存于Derby数据库,或MySQL,Oracle数据库。

  2. 表数据
    表中存储的数据。
    存储形式:每张表存于HDFS中的一个目录中

数据类型

数据模型

    MySQL,Oracle用表作为数据模型存储数据。Hive自然也有。下面简要介绍一下Hive的几种常用的表吧。

  1. 内部表
    最接近普通关系型数据库的数据模型;
    删除数据时会将元数据与表数据一同删除,HDFS中的数据文件一同被删除;
create table bucket_table
(sid int, sname string, age int)
row format delimited fields terminated by '\t';
-- 指定数据间分隔符,默认为制表符'\t'
  1. 外部表
    与HDFS中某个目录下的数据文件建立连接;
    比较像指针,指向HDFS中某个目录;
    删除数据时,会删除元数据,与该目录的连接,但不会真正删除HDFS中的数据
create external table external_student
(sid int, sname string, age int)
row format delimited fields terminated by '\t'
location '/input';  --指定表数据所在 HDFS目录
  1. 桶表
    用哈希算法将表数据分到5个中,一般可以将数据打乱放到各个桶中,可以处理数据倾斜问题
create table bucket_table
(sid int, sname string, age int)
clustered by(sname) into 5 buckets --将数据通过哈希算法分成5部分
row format delimited fields terminated by '\t';
上一篇下一篇

猜你喜欢

热点阅读