hadoop笔记之Hive入门(Hive的体系结构)

Hive入门(二)

Hive入门(二)

Hive的体系结构

○ Hive的元数据

  • Hive将元数据存储在数据库中(metastore),支持mysql、derby、oracle等数据库,Hive默认是derby数据库
  • Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等

○ HQL的执行过程

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

详细过程:

  1. HQL——select
  2. 解析器——词法分析
  3. 编译器——生成HQL的执行计划(javac java –> .class)
  4. 优化器——生成最佳的执行计划
  5. 执行

设我们有一个员工信息表,进入到oracle:

SQL> ——查询10号部门的员工信息SQL> explain plan for select * from emp where deptno=10:

已解释。

SQL> ——查看该select的执行计划SQL> select * from table(dbms_xplan.display):

执行全表扫描,当然全表扫描的代价相对要高一些

下面将对部门号建立索引

SQL> creaete index myindex on emp(deptno):

索引已创建。

SQL> explain plan for select * from emp where deptno=10:

已解释。

SQL> select * from table(dbms_xplan.display):

这事就是基于索引的扫描,对于全表扫描更加快速

对于Hive跟oracle是差不多的



所以:

○ hadoop

  • 用HDFS进行存储,利用MapReduce进行计算

○ 元数据存储(MetaStore)

  • 通常是存储在关系数据库如mysql、derby中

时间: 2024-10-15 11:20:57

hadoop笔记之Hive入门(Hive的体系结构)的相关文章

Hive入门笔记-----架构以及应用介绍

Hive这个框架在Hadoop的生态体系结构中占有及其重要的地位,在实际的业务当中用的也非常多,可以说Hadoop之所以这么流行在很大程度上是因为Hive的存在.那么Hive究竟是什么,为什么在Hadoop家族中占有这么重要的地位,本篇文章将围绕Hive的体系结构(架构).Hive的操作.Hive与Hbase的区别等对Hive进行全方面的阐述. 在此之前,先给大家介绍一个业务场景,让大家感受一下为什么Hive如此的受欢迎: 业务描述:统计业务表consumer.txt中北京的客户有多少位?下面是

hadoop笔记之Hive的管理(CLI方式)

Hive的管理(一) Hive的管理(一) Hive的启动方式 CLI(命令行)方式 Web界面方式 远程服务启动方式 CLI方式 1. 进入命令行方式 直接输入<HIVE_HOME>/bin/hive的执行程序 或者输入hive --service cli 2. 退出命令行方式 exit; 3. 常用的CLI命令 清屏 ctrl+L或者!clear 查看数据仓库中的表 show tables --查看表列表; 注意在Hive命令行模式下用两个--表示后面的内容属于注释部分,用;表示结束 查看

Hive-1.2.0学习笔记(三)Hive用户接口

鲁春利的工作笔记,谁说程序员不能有文艺范? Hive对外提供了三种服务模式,即CLI(command line interface).Hive Web和Hive Client(如JavaApi方式). 1.Hive命令行模式(CLI) 启动Hive命令行模式有两种方式 bin/hive 或 bin/hive --service cli hive命令选项 [[email protected] hive1.2.0]$ bin/hive --help Usage ./hive <parameters>

hive入门学习线路指导

转自:http://www.aboutyun.com/thread-7598-1-1.html hive被大多数企业使用,学习它,利于自己掌握企业所使用的技术,这里从安装使用到概念.原理及如何使用遇到的问题,来讲解hive,希望对大家有所帮助.此篇内容较多:看完之后需要达到的目标1.hive是什么2.明白hive的原理3.会使用hive4.会使用hive编程 1.hive首先我们需要hive是什么?让你真正明白什么是hive上面讲的很明白1.hive是一个数据仓库2.hive基于hadoop.总

HIVE入门操作

1      HIVE入门操作 1.1      连接环境 输入 hive;进入hive环境 输入 quit;退出hive环境 1.2      查看数据库 show databases; 1.3      创建数据库 create database mng; 1.4      链接数据库 use mng; 成功显示如下: 1.5      查看表 show tables; 1.6      创建表注意点 l  数据类型对比 NUMBER(14) -- BIGINT NUMBER(m,n) –

大数据技术之_08_Hive学习_01_Hive入门+Hive安装、配置和使用+Hive数据类型

第1章 Hive入门1.1 什么是Hive1.2 Hive的优缺点1.2.1 优点1.2.2 缺点1.3 Hive架构原理1.4 Hive和数据库比较1.4.1 查询语言1.4.2 数据存储位置1.4.3 数据更新1.4.4 索引1.4.5 执行1.4.6 执行延迟1.4.7 可扩展性1.4.8 数据规模第2章 Hive安装.配置和使用2.1 Hive安装地址2.2 Hive安装部署2.3 将本地文件导入Hive案例2.4 MySql安装2.4.1 安装包准备2.4.2 安装MySql服务器2.

Hive入门到剖析(二)

5 Hive参数 hive.exec.max.created.files 说明:所有hive运行的map与reduce任务可以产生的文件的和 默认值:100000 hive.exec.dynamic.partition 说明:是否为自动分区 默认值:false hive.mapred.reduce.tasks.speculative.execution 说明:是否打开推测执行 默认值:true hive.input.format 说明:Hive默认的input format 默认值: org.a

Hive入门到剖析(一)

1 Hive简介 1.1 Hive定义 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 本质是将SQL转换为MapReduce程序. 1.2 为什么使用Hive 1.面临的问题 人员学习成本太高 项目周期要求太短 我只是需要一个简单的环境 MapReduce  如何搞定 复杂查询好难 Join如何实现 2.为什么要使用Hive 操作接口采用类SQL语法,提供快速开发的能力 避免了去写MapReduce,减少开发人员的学习成本 扩展

hadoop安装部署3------安装hive

安装mysql mysql装在了master节点上 1)卸载系统自带的mysql相关安装包,仅卸载 mysql 开头的包 rpm -qa|grep -i mysql -i 作用是不区分大小写 可以看到有两个安装包 MySQL-server-5.6.19-1.linux_glibc2.5.x86_64.rpm MySQL-client-5.6.19-1.linux_glibc2.5.x86_64.rpm 删除这两个服务(去掉后缀) rpm -e MySQL-client-5.6.19-1.linu