首页
学习
活动
专区
工具
TVP
发布

【大数据进击之路】——Apache Hive的架构及其特性总结

Hive的特性有哪些呢?

Hive的特性:

面向主题性:主题是一种抽象概念,数据综合体与分析需求相关!

集成性:确定分析主题后,寻找与主题相关的数据源数据,经过抽取转换加载(ETL)最终把数据变成表格式,统一干净规整的数据,填充到数据仓库的主题下!

非易失性:数仓式数据分析的平台,不是数据创造的平台,分析数据的规律而不是修改创造数据的规律。数仓的数据都是已经生产的历史数据,已经是客观事实!

时变性:数仓的数据会随着时间成周期性变化,分析的频率相关,一年一分析?一季度?一月?一天?一小时?

hive数仓架构

图示解释:

用户接口主要有三个:CLI JDBC/ODBC及WebUI

CLI(command line interface):即Shell命令行!

JDBC:传统数据库!

ODBC:是Hive的Java实现,与JDBC数据库类似!

WebUI:是通过浏览器访问Hive(浏览器中设置的埋点数据)

Hive将元数据存储到数据库中(meta store):目前只支持MySQL、derby(db)。Hive中的元数据包括表的名字,表的列分区及其属性,表的属性(是否是外部表等),表的数据所在目录等!

解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化及其查询计划(plan)的生成!生成的查询计划存储在HDFS中,并在随后有MR(MapReduce)调用执行!

Hive的数据存储在HDFS中,大部分的查询有MR(MapReduce)完成(包含 * 的查询,比如select * from table 不会生成[MR] MapReduce任务)

小节:

用户接口包含:CLI、JDBC、ODBC、WebUI

元数据存储:通常是存储在关系型数据库如MySQL、deber中!

解析器、编译器、优化器、执行器

Hive与Hadoop的关系:

Hive是基于Hadoop的数据仓库:

数据存储能力:Hadoop HDFS

数据分析能力:Hadoop MR(MapReduce)

把一份结构化数据映射成为一张表,通过提供用户编号sql hive转换为MR处理数据的能力 (下方为详细介绍如何将结构化数据映射为hive的一张表)!

如何将HDFS上的结构化数据映射为Hive中的一张表

文件路径似乎有规律。我们应该把结构化数据放在这条路径下吗?

答:不一定

在外部表中指定文件路径!

数据库.表 ====> /user/hive/warehouse/数据库.db/表名

注意:表创建字段的顺序和类型必须与文件一致!

create table t_3(id int ,name string ,age int )row  format delimited fields terminated by ","

注意:如果类型不一致,hive将自动转换,不能保证转换成功,如果转换成功则显示,否则转换为null!

不一定需要指定分隔符,如果未指定,则将使用默认分隔符(例如)

create table t_1(id int ,name string , age int );

create table t_2(id int ,name string ,age int) row format delimited fields terminated by ",";

如果觉得对你有所帮助。记得收藏和关注呦!(每日更新各种框架)

如需转载请注明出处(创作不易请见谅)

和巨婴程序猿一起成长。让自己变得更优秀

想了解更多精彩内容,快来关注跟着巨婴去逆袭

我最近一直在思考(大数据通俗讲解)的问题,你的看法是什么呢?关注我快说出来一起交流一下吧~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200629A0ARCM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券