Hive基础架构

Hive

由Facebook开源用于解决海量结构化日志的数据统计:

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能;

构建在Hadoop之上的数据仓库:

* 使用HQL作为查询接口
  * 处理的数据存储在HDFS

* 分析数据底层实现MapReduce

* 执行程序运行的YARN

本质是:将HQL转化成MapReduce程序

灵活性和扩展性比较好,支持UDF,自定义存储格式等。

适合离线数据处理。

Hive架构如下图:

> 用户接口:Client

CLI(hive shell)、JDBC/ODBC(java访问hive),WEBUI(浏览器访问hive)

> 元数据:Metastore

元数据包括:表名、表所属的数据库(默认是default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等;

默认存储在自带的 derby数据库中,推荐使用采用MySQL存储Metastore;

>Hadoop

使用HDFS进行存储,使用MapReduce进行计算。

> 驱动器: Driver

包含:解析器、编译器、优化器、执行器;

解析器:将SQL字符串转换成抽象语法树AST,这一步一般都用第二方工具库完成,比如antlr;对AST进行方法分析,比如表是否存在、字段是否存在、SQL语义是否有误(比如select中被判定为聚合的字段在group by 中是否有出现);

编译器:将AST编译成逻辑执行计划;

优化器:对逻辑执行计划进行优化;

执行器:把逻辑执行计划转换成可以运行的物理计划。对Hive来说,就是MR/TEZ/Spark;

Hive优点与使用场景

操作接口采用类SQL语法,提供快速开发的能力(简单、容易上手);

避免了去写MapReduce, 减少开发人员的学习成本;

统一的元数据管理,可与impala/spark等共享元数;

易扩展(hdfs+mapreduce:可以扩展集群规模,支持自定义函数);

数据的离线处理:比如:日志分析,海量结构化数据离线分析...........

Hive的执行延迟比较高,因此hive常用于数据分析的,对实时性要求不高的场合;

Hive优势在于处理大数据,对于处理小数据没有优势,因为Hive的执行延迟比较高;

原文地址:https://www.cnblogs.com/cindy-zl24/p/9618501.html

时间: 2024-10-24 13:11:54

Hive基础架构的相关文章

Hive基础之Hive体系架构&运行模式&Hive与关系型数据的区别

Hive架构 1)用户接口: CLI(hive shell):命令行工具:启动方式:hive 或者 hive --service cli ThriftServer:通过Thrift对外提供服务,默认端口是10000:启动方式:hive --service hiveserver WEBUI(浏览器访问hive):通过浏览器访问hive,默认端口是9999:启动方式:hive --service hwi 2)元数据存储(Metastore):启动方式:hive -service metastore

深入浅出Hive企业级架构优化、Hive Sql优化、压缩和分布式缓存(企业Hadoop应用核心产品)

一.本课程是怎么样的一门课程(全面介绍)    1.1.课程的背景       作为企业Hadoop应用的核心产品,Hive承载着FaceBook.淘宝等大佬 95%以上的离线统计,很多企业里的离线统计甚至全由Hive完成,如我所在的电商.       Hive在企业云计算平台发挥的作用和影响愈来愈大,如何优化提速已经显得至关重要.       Hive作业的规模决定着优化层级,一个Hive作业的优化和一万的Hive作业的优化截然不同.       拥有1万多个Hive作业的大电商如何进行Hiv

【Hive】Hive 基础

Hive架构: Hive基础 1 概念 1.1 简介 1.1.1 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表, 并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行.--OLAP 1.2 背景 1.2.1 OLAP逻辑和SQL一样大体一致,可以将这些逻辑转化为对应的MR,不需要每种类型的查询分析都重复写MR 1.2.2 Facebook开发通用的MR程序框架,对外使用SQL接口,框架就是Hive 1.3 官网 1.3.1 h

深入浅出Hive企业级架构优化视频教程

深入浅出Hive企业级架构优化.Hive Sql优化.压缩和分布式缓存(企业Hadoop应用核心产品)课程讲师:Cloudy课程分类:Hadoop适合人群:初级课时数量:10课时用到技术:Hive涉及项目:Hive企业级优化咨询qq:1840215592 一.课程环境:Cloudera Hadoop 4 (Hadoop 2.0)Hive-0.90二.所需技术基础:Hadoop基础.Hive基础.Linux基础,其他不限制(不分Java和.Net方向,皆适合).深入浅出Hive企业级架构优化视频教

[转帖]Hive基础(一)

Hive基础(一) 2018-12-19 15:35:03 人间怪物 阅读数 234 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_41975699/article/details/85044696 1.Hive是什么 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成为一张数据库表,并提供类SQL的查询功能.可以将sql语句转化为MapReduce任务进行

【Windows】Windows Server 2008 R2:核心基础架构

核心基础架构 Windows Server提供了核心基础架构服务以支持网络的运行.Windows Server技术已经成熟了,其中的角色和功能也同样成熟了.Windows Server 2008 R2继续改进了核心基础架构服务,这些服务一直都是Windows Server的一部分,它们为我们的业务提供了一个稳固的基础.点击以下核心基础架构角色以了解更多: Active Directory(AD) 应用程序和Web服务 可用性和可量测性 备份和恢复-Windows Server Backup Br

在C7000+VMware vSphere5.5环境中的基础架构服务器部署实例

主题:使用HP C7000设备在VMware vSphere环境中部署企业高可用性基础架构服务器 目标:在C7000中使用BL460G8部署VMware vSphere服务器虚拟化方案,完成企业级高可用性基础架构服务. 硬件 1:1台HP C7000刀框 2:3台HP BL460G8服务器 3:2个HP Virtual Connect FlexFabric 10Gb/24-port Module 4:1台HP P4500存储 需要的图表 设计整体逻辑拓扑图 配置信息参数图表 IP地址规划图表 E

Hive基础之Hive是什么以及使用场景

Hive是什么1)Hive 是建立在Hadoop (HDFS/MR)上的用于管理和查询结果化/非结构化的数据仓库:2)一种可以存储.查询和分析存储在Hadoop 中的大规模数据的机制:3)Hive 定义了简单的类SQL 查询语言,称为HQL,它允许熟悉SQL 的用户查询数据:4)允许用Java开发自定义的函数UDF来处理内置无法完成的复杂的分析工作:5)Hive没有专门的数据格式(分隔符等可以自己灵活的设定): ETL的流程(Extraction-Transformate-Loading):将关

Hive基础之Hive环境搭建

Hive默认元数据信息存储在Derby里,Derby内置的关系型数据库.单Session的(只支持单客户端连接,两个客户端连接过去会报错): Hive支持将元数据存储在关系型数据库中,比如:Mysql/Oracle: 本案例采用的是将hive的元数据存储在MySQL中,故需要先安装MySQL数据库,使用的是CentOS6.4版本. MySQL安装 采用yum安装方式安装: yum install mysql #安装mysql客户端 yum install mysql-server #安装mysq