Hive ---- Hive入门
Hive ---- Hive入门
- 1. 什么是Hive
- 1. Hive简介
- 2. Hive本质
- 2. Hive架构原理
- 1. 用户接口:Client
- 2. 元数据:Metastore
- 3. 驱动器:Driver
- 4. Hadoop
1. 什么是Hive
1. Hive简介
Hive是由Facebook开源,基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。
那为什么会有Hive呢?它是为了解决什么问题而诞生的呢?
下面通过一个案例,来快速了解一下Hive。
例如:需求,统计单词出现个数。
(1)在Hadoop课程中我们用MapReduce程序实现的,当时需要写Mapper、Reducer和Driver三个类,并实现对应逻辑,相对繁琐。
test表
id列atguigu
atguigu
ss
ss
jiao
banzhang
xue
hadoop
(2)如果通过Hive SQL实现,一行就搞定了,简单方便,容易理解。
select count(*) from test group by id;
2. Hive本质
Hive是一个Hadoop客户端,用于将HQL(Hive SQL)转化成MapReduce程序。
(1)Hive中每张表的数据存储在HDFS
(2)Hive分析数据底层的实现是MapReduce(也可配置为Spark或者Tez)
(3)执行程序运行在Yarn上
2. Hive架构原理
1. 用户接口:Client
CLI(command-line interface)、JDBC/ODBC。
说明:JDBC和ODBC的区别。
(1)JDBC的移植性比ODBC好;(通常情况下,安装完ODBC驱动程序之后,还需要经过确定的配置才能够应用。而不相同的配置在不相同数据库服务器之间不能够通用。所以,安装一次就需要再配置一次。JDBC只需要选取适当的JDBC数据库驱动程序,就不需要额外的配置。在安装过程中,JDBC数据库驱动程序会自己完成有关的配置。)
(2)两者使用的语言不同,JDBC在Java编程时使用,ODBC一般在C/C++编程时使用。
2. 元数据:Metastore
元数据包括:数据库(默认是default)、表名、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等。
默认存储在自带的derby数据库中,由于derby数据库只支持单客户端访问,生产环境中为了多人开发,推荐使用MySQL存储Metastore。
默认存储在自带的derby数据库中,由于derby数据库只支持单客户端访问,生产环境中为了多人开发,推荐使用MySQL存储Metastore。
3. 驱动器:Driver
(1)解析器(SQLParser):将SQL字符串转换成抽象语法树(AST)
(2)语义分析(Semantic Analyzer):将AST进一步划分为QeuryBlock
(3)逻辑计划生成器(Logical Plan Gen):将语法树生成逻辑计划
(4)逻辑优化器(Logical Optimizer):对逻辑计划进行优化
(5)物理计划生成器(Physical Plan Gen):根据优化后的逻辑计划生成物理计划
(6)物理优化器(Physical Optimizer):对物理计划进行优化
(7)执行器(Execution):执行该计划,得到查询结果并返回给客户端
抽象语法树
逻辑计划与物理计划
4. Hadoop
使用HDFS进行存储,可以选择MapReduce/Tez/Spark进行计算。
Hive ---- Hive入门相关推荐
- Apache Hive 快速入门 (CentOS 7.3 + Hadoop-2.8 + Hive-2.1.1)
2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<Netkiller Database 手札> 第 63 章 Apache Hive 目录 63.1. ...
- hadoop hive hbase 入门学习 (二)
hadoop 自学系列 hadoop hive hbase 入门学习 (一) hadoop安装.hdfs学习及mapreduce学习 hadoop 软件下载 (hadoo ...
- Hive从入门到放弃——HiveQL表级别DDL设计的艺术性(五)
HiveQL数据库中的表DDL操作 博客Hive从入门到放弃--HiveQL数据库级别DDL设计的艺术性(四)聊完了数据库的基本操作,我们再来聊聊Hive内表的操作. 创建表 官方推荐建表的结 ...
- Hive从入门到放弃——Hive表DML的艺术性(八)
背 景 HiveQL语法和MySQL的语法很像,当然Hive本身作为大数据的数据仓库,本身对数据的修改和删除并不铭感,虽然Hive支持通过ORC为存储文件实现数据的删除和修改,但是这个功能相对比较 ...
- Hive 快速入门(全面)
转载: https://www.codercto.com/a/5110.html 前言 我写这篇文章的目的是尽可能全面地对Hive进行入门介绍,这篇文章是基于hive-1.0.0版本介绍的,这个版本的 ...
- 《Hive系列》Hive详细入门教程
目录 1 Hive基本概念 1.1 什么是Hive Hive简介 Hive:由FaceBook开源用于解决海量结构化日志的数据统计工具 Hive:基于Hadoop的一个数据仓库工具,可以将结构化的数据 ...
- [Hive] - Hive参数含义详解
hive中参数分为三类,第一种system环境变量信息,是系统环境变量信息:第二种是env环境变量信息,是当前用户环境变量信息:第三种是hive参数变量信息,是由hive-site.xml文件定义的以 ...
- Spark on Hive Hive on Spark傻傻分不清?
Spark on Hive? Hive on Spark傻傻分不清? 1 spark on hive Spark on hive,是spark计算引擎依托hive data source,spark ...
- Hive——hive安装
1.Hive安装地址 1.Hive官网地址 http://hive.apache.org/ 2.文档查看地址 https://cwiki.apache.org/confluence/display/H ...
最新文章
- 介绍一下Linux 误删文件恢复命令及方法
- 【2012年华为校园招聘软开上机-成都】字母转换、统计单词个数
- 关于IE7 兼容问题
- 本周不容错过的的9篇NLP论文 | PaperDaily #21
- 如果使用StateServer或SQLServer,会遇到的问题。。。。
- 监测利器cacti服务安装
- 300来行代码实现最小Linux文件系统
- 为MFC应用程序添加全屏幕显示功能
- java编写一个程序_计算已知长和宽的长方形的周长,请教一下大佬们,我们java留了一个作业,编写程序,定义一个接口Comput,声明计算周长和面积的方法...
- [机器学习] 混淆矩阵和kappa系数
- python实现mysql的读写分离及负载均衡
- 圣诞帽php,教你用ps给自己头像p圣诞帽
- Ogre开发日记(一)
- 微信小程序详解——小程序的生命周期和页面的生命周期
- 计算机基础表格模拟题,4月全国网络统考资料《计算机应用基础》模拟题及参考答案——电子表格...
- CryEngine的maya插件安装
- PHP7.2源码安装
- Servlet实现用户注册
- springboot jpa自定义SQL查询
- PCB 录屏工具Screen2Exe GifCam ScreenToGif
热门文章
- 2022爱分析·中国数字化客户经营创新案例评结果揭晓,16个项目入选
- 电力电子变流器和永磁同步电机模型预测控制方式实现
- Windows Server2022安装体验
- 有米iOS恶意SDK分析
- Win7摄像头驱动错误怎么办?Win7摄像头驱动错误的解决方法
- 带计算机笔记本电脑,笔记本电脑的充电器忘记带了怎么处理
- Web端3D可视化引擎HOOPS Communicator读取10G超大模型测试 | 数字孪生技术
- Hoops编程指南:04_3_user_interaction_window_system_interaction
- 【愚公系列】2023年04月 wireshark系列-数据抓包分析之ARP协议
- 小程序——调用手机地图app