Hive的相关介绍

  • 目录
    • 前言:
    • 1、Hive简介
    • 2、Hive架构
    • 3、Hive与Hadoop的关系
    • 4、Hive与传统数据库对比
    • 5、Hive的数据存储
    • 总结:

目录

前言:

为什么使用Hive
直接使用hadoop所面临的问题
人员学习成本太高
项目周期要求太短
MapReduce实现复杂查询逻辑开发难度太大

使用Hive的优点:
操作接口采用类SQL语法,提供快速开发的能力。
避免了去写MapReduce,减少开发人员的学习成本。
扩展功能很方便。

1、Hive简介

1.1、什么是Hive
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
1.2、Hive的特点

  • 可扩展 :
    Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。
  • 延展性:
    Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
  • 容错:
    良好的容错性节点出现问题SQL仍可完成执行。

2、Hive架构

2.1、架构图
这里写图片描述
2.2、基本组成

  • 用户接口:包括 CLI、JDBC/ODBC、WebGUI。
  • 元数据存储:通常是存储在关系数据库如 mysql , derby中。
  • 解释器、编译器、优化器、执行器。

2.3、各组件的基本功能

  • 用户接口主要由三个:CLI、JDBC/ODBC和WebGUI。其中,CLI为shell命令行;JDBC/ODBC是Hive的JAVA实现,与传统数据库JDBC类似;WebGUI是通过浏览器访问Hive。

  • 元数据存储:Hive 将元数据存储在数据库中。Hive
    中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。

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

3、Hive与Hadoop的关系

Hive利用HDFS存储数据,利用MapReduce查询数据
这里写图片描述

4、Hive与传统数据库对比

这里写图片描述

总结:hive具有sql数据库的外表,但应用场景完全不同,hive只适合用来做批量数据统计分析。

5、Hive的数据存储

1、Hive中所有的数据都存储在 HDFS 中,没有专门的数据存储格式(可支持Text,SequenceFile,ParquetFile,RCFILE等)
2、只需要在创建表的时候告诉 Hive 数据中的列分隔符和行分隔符,Hive 就可以解析数据。
3、Hive 中包含以下数据模型:DB、Table,External Table,Partition,Bucket。

  • db:在hdfs中表现为${hive.metastore.warehouse.dir}目录下一个文件夹。
  • table:在hdfs中表现所属db目录下一个文件夹。
  • external table:外部表,与table类似,不过其数据存放位置可以在任意指定路径 普通表: 删除表后, hdfs上的文件都删了 External外部表删除后,hdfs上的文件没有删除, 只是把文件删除了。
  • partition:在hdfs中表现为table目录下的子目录 。
  • bucket:桶, 在hdfs中表现为同一个表目录下根据hash散列之后的多个文件, 会根据不同的文件把数据放到不同的文件中。

总结:

对于Hive来说,个人感觉只要知道以下几个知识点就算是达到和博主一样的小菜鸟的境界,后期可以通过专项学习来进化为“大鹏”:
1、Hive是什么,干什么用的。
2、理解Hive的工作原理。
3、熟练掌握Hql的编写,能够运用Hql进行简单的数据分析。
目前只想到了这些点,如有遗漏后续会接着补充。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456713.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java第五次作业--面向对象高级特性(抽象类和接口)

一、学习要点 认真看书并查阅相关资料,掌握以下内容: 掌握抽象类的设计掌握接口的设计理解简单工厂设计模式理解抽象类和接口的区别掌握包装类的应用掌握对象的比较方法和比较器的使用学习使用日期操作类学习匿名内部类的使用二、作业要求 发布一篇随笔&…

gulp教程之gulp-minify-css【gulp-clean-css】

原文:http://www.ydcss.com/archives/41 简介: 使用gulp-minify-css压缩css文件,减小文件大小,并给引用url添加版本号避免缓存。重要:gulp-minify-css已经被废弃,请使用gulp-clean-css,用法一致…

win7 IE11卸载后无法上网

今天某同事需要访问一个银行网站,必须使用IE8,我在win7中降级IE11,直接卸载了IE11和其语言包,发现IE8再也打不开网页了,每次打开都提示保存html网页。测试Google Chrome上网完全没有问题。IE8的internet选项等任何工具菜单点击均无反应&#…

关于django的模板

模板 问题 如何向请求者返回一个漂亮的页面呢? 肯定需要用到html、css,如果想要更炫的效果还要加入js,问题来了,这么一堆字段串全都写到视图中,作为HttpResponse()的参数吗?这样定义就太麻烦了吧&#x…

Hbase简介及常用命令相关知识总结

文章目录目录前言:1.Hbase简介1.1、什么是Hbase1.2、与传统数据库的对比1.3、Hbase集群中的角色2、Hbase数据模型3、Hbase命令总结:目录 前言: 对于Hbase来说,由于其是基于列的数据库,所以比传统的数据库快许多&…

Storm入门简介

目录前言:1、Storm简介2、Storm与Hadoop的区别3、Storm核心组件4、Storm编程模型5、流式计算一般架构图(重要)总结: 目录 前言: 在介绍Storm之前,先介绍下离线计算。 离线计算:批量获取数据…

前端模板预编译技术

什么是前端模板预编译 前端模板预编译通过预编译技术让前端模板突破浏览器限制,实现后端模板一样的同步“文件”加载能力。它采用目录来组织维护前端模板,从而让前端模板实现工程化管理,最终保证前端模板在复杂单页 web 应用下的可维护性。同…

node08-express

目录:node01-创建服务器 node02-util node03-events node04-buffer node05-fs node06-path node07-http node08-express node09-cookie express模块: 1 /*2 * express是一个应用框架3 * 1、路由4 * 2、中间件5 * 3、模板引擎6 * */7 8 var express requ…

Java基础常见笔试题总结

以下是自己总结的一些Java常见的基础知识题,答案仅供参考,如有异议请指出。一直保持更新状态。 1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编…

各种机器学习开源项目精选TOP30

8800个机器学习开源项目为你精选TOP30! 授权自AI科技大本营(ID: rgznai100) 本文共图文结合,建议阅读5分钟。 本文为大家带来了30个广受好评的机器学习开源项目。 最近,Mybridge发布了一篇文章,对比了过去一年中机…

Tomcat控制台输出到文件

为什么80%的码农都做不了架构师?>>> 修改startup.bat call "%EXECUTABLE%" start %CMD_LINE_ARGS% 为 call "%EXECUTABLE%" run %CMD_LINE_ARGS% >> ..\logs\test.log 转载于:https://my.oschina.net/cccyb/blog/886047

常见算法详解(原理及代码实现Python版本)

文章目录前言1、冒泡排序2、选择排序3、插入排序4、希尔排序5、快速排序6、归并排序7、二分法查找总结前言 最近复习了下常见的算法,在这里手动再写一遍,权当加深自己的印象。代码实现用的是python3.6版本。 1、冒泡排序 原理: 冒泡排序&a…

[转载] 全方位提升网站打开速度:前端、后端、新的技术

原文地址:Building a Shop with Sub-Second Page Loads: Lessons Learned原文作者:Erik Witt译文出自:掘金翻译计划译者:luoyaqifei校对者:Romeo0906,L9m全方位提升网站打开速度:前端、后端、新…

20个顶级大数据软件应用程序

目录1. Domo2. Teradata Database3. Hitachi Vantara4. TIBCO公司的Statistica5. Panoply6. IBM Watson Analytics7. SAS Visual Analytics8. Sisense商业智能软件9. Talend的大数据工作室10. Cloudera11. MongoDB12. Vertica Analytics Platform13. SAP Vora14. Oracle Big Da…

MapTask、ReduceTask并行度决定机制

目录前言:1、mapTask并行度的决定机制2、ReduceTask并行度的决定总结: 目录 前言: MapTask的并行度决定map阶段的任务处理并发度,进而影响到整个job的处理速度。那么,MapTask并行实例是否越多越好呢?其并行度又是如何决定呢&am…

6大主流开源SQL引擎总结,遥遥领先的是谁?

根据 O’Reilly 2016年数据科学薪资调查显示,SQL 是数据科学领域使用最广泛的语言。大部分项目都需要一些SQL 操作,甚至有一些只需要SQL。本文就带你来了解这些主流的开源SQL引擎!背景介绍 本文涵盖了6个开源领导者:Hive、Impala、…

Yarn在MapReduce中的工作机制

目录前言:1、YARN概述2、mapreduce&yarn的工作机制总结: 目录 前言: 在了解Yarn在MR中的作用的时候需要先了解Yarn是什么。 1、YARN概述 Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台&…

长连接心跳机制理解

近期使用go 开发聊天室,使用到websocket常链接。 if err websocket.JSON.Receive(ws,&reply); err ! nil {log.Println(err)return } 我发现当连接断开的时候会走if里面,输出eof 这样就知道,客户端断开了连接。 但在之前使用workerman …

Hive的基本操作总结

文章目录目录前言:1、Hive基本操作1.1、DDL操作1.2、DML操作1.3、Hive Join总结:目录 前言: 对于Hive来说最重要的一点就是能够用Hql来进行数据分析。而Hql来处理数据比MapReduce方便很多(原理是一样的,Hql底层转化为MapReduce来…

Hbase读写数据的原理解析

目录1、体系图写数据的流程(参考上图):读数据的流程(参考下图): 目录 1、体系图 针对上图的一些解释: 这里面数据分区(region)存储是为了查询方便(即因为是…