hive入门
来源:互联网 发布:农村淘宝下载安装2017 编辑:程序博客网 时间:2024/04/30 02:49
什么是Hive
Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL ),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 QL ,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作。
Hive是SQL解析引擎,它将SQL语句转译成M/R Job然后在Hadoop执行。
Hive的表其实就是HDFS的目录/文件,按表名把文件夹分开。如果是分区表,则分区值是子文件夹,可以直接在M/R Job里使用这些数据。
Hive的系统架构
•用户接口,包括 CLI,JDBC/ODBC,WebUI
•元数据存储,通常是存储在关系数据库如 mysql, derby 中
•解释器、编译器、优化器、执行器
•Hadoop:用 HDFS 进行存储,利用 MapReduce 进行计算
hive的系统架构图如下图所示:
用户接口主要有三个:CLI,JDBC/ODBC和 WebUI
CLI,即Shell命令行
JDBC/ODBC 是 Hive 的Java,与使用传统数据库JDBC的方式类似
WebGUI是通过浏览器访问 Hive
Hive 将元数据存储在数据库中(metastore),目前只支持 mysql、derby。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等
解释器、编译器、优化器完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划(plan)的生成。生成的查询计划存储在 HDFS 中,并在随后MapReduce 调用执行
Hive 的数据存储在 HDFS 中,大部分的查询由 MapReduce 完成(包含 * 的查询,比如 select * from table 不会生成 MapRedcue 任务)
- Hive 入门
- Hive 入门
- hive入门
- hive入门
- hive入门
- hive入门
- Hive入门
- hive入门
- HIVE入门
- hive 入门
- hive入门
- Hive入门
- Hive入门
- HIVE入门
- Hive入门
- hive入门
- Hive入门
- Hive 入门
- javaweb-servlet开发
- 《C Primer Plus(第5版)中文版》第7章编程练习第11题
- Android Service完全解析
- 第七章 实现炫酷效果—图像和动画(3)
- 网页,html5,canvas,js 动态绘制柱形图
- hive入门
- HDU2159
- 字符编码:ASCII,Unicode和UTF-8
- Searching: Linear Probing And Insertion
- mysqldump的几种用法(Mysql)
- CSS实现网页顶部的阴影效果
- 用两个栈实现队列的功能
- 机器学习(回归、梯度下降、最小二乘法)
- POJ-1088 滑雪 (动态规划)