hive java api 设计_hive的设计思想和技术框架(2017)

2019/2/20 星期三

此笔记参考2017年 优化与2019/2/20 星期三

Hive的设计思想和技术架构

Hive的基础

Hive是一种数据仓库工具,他的功能是讲SQL语法表达的数据运算逻辑转换为mapreduce程序在hadoop集群上对海量数据进行分析 //hive表是可以创建索引的 https://www.iteblog.com/archives/836.html //Hive创建索引

hive的设计思想

2fd6b4e7329fafecb0457576ddd55423.png

库:sql语法表达成MapReduce的jar库

因为,sql语法相对是一个规则的东西,我们把sql语法用MapReduce来表达出来,形成一个库

翻译器:可以接受sql语句,然后去翻译,查找一个特定的mr程序。

1、翻译器接受sql语句,然后去翻译,

2、到sql库中查找一个特定的mr程序。

3、提交hadoop集群上执行MR job

其实:hive就是翻译器+库+元数据库 这三者封装起来就是hive

HiveQL 通过命令行或者客户端提交,经过 Compiler 编译器,运用 MetaStore 中的元数 据进行类型检测和语法分析,生成一个逻辑方案(Logical Plan),然后通过的优化处理,产生 一个 MapReduce 任务。

hive中建立表语句:其实就是建立一种映射关系,这种映射关系就是表名,表里面的字段,字段跟hdfs路径上的字段怎么对应起来,他要记录这些信息,把这些信息记录在元数据库中

hive的技术架构 //见图

cf23300c7d357f21acba7231cd9b68b6.png

其中最重要的是driver:包括 编译器,优化器,执行器

metastore 元数据库:可以是mysql,他自身携带了一个叫derby的数据库

安装hive

首先在官网下载hive,上传到linux中 解压到我们安装的目录下面,这里我们是安装在/usr/local/apps/下的

tar -zxvf hive(压缩包) -C /usr/local/apps/

然后我们到安装目录下查看

cd /usr/local/apps/

hive 这个工具是不需要再每台机器上安装,他提供一个界面给我们,把SQL变成mr程序,提交给hadoop集群去执行,所以他在那边运行都没关系

hive

hive依赖与hadoop的集群环境,他运算所用的框架是mr所以在运行hive之前要确保hadoop的开启

首先 start-dfs.sh

start-yarn.sh

然后在hive的安装包下的bin目录下有一个hive可以直接运行hive

./hive

这样就启动起来了

进入hive> 他是支持sql语句的,我们来执行show databases

show table

hive的4中使用方式:https://blog.csdn.net/ansiallen/article/details/79427468 //参考链接

1、Hi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值