数据仓库Hive(林子雨课程慕课)

这篇具有很好参考价值的文章主要介绍了数据仓库Hive(林子雨课程慕课)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

9.数据仓库Hive

9.1 数据仓库的概念
  • 数据仓库的概念

    • 数据仓库是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用户支持管理决策
  • 根本目的:基于数据仓库的分析结果->以支持企业内部的商业分析和决策->作出相关的经营决策

  • 数据仓库的体系结构:

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • 数据仓库和传统数据库区别

    • 仓库中的数据是相对稳定的,不会频繁发生变化,存储大量的历史数据

    • 数据仓库基本上保留了历史上所有数据,保留历史而传统观数据库只能保留某一时刻状态的信息

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • 传统数据仓库(基于关系型数据库)面临挑战

    • 无法满足快速增长的海量数据存储需求
    • 无法有效处理不同类型的数据:基于结构化存储,无法存储非结构化的数据
    • 计算和处理能力不足:纵向扩展能力有限,水平扩展能力不足
9.2 Hive简介
  • Hive特点

    • 传统的数据仓库既是数据存储产品也是数据分析产品
    • 传统的数据仓库能同时支持数据的存储和处理分析
    • Hive本身并不支持数据存储和处理
    • 其实只是提供了一种编程语言
  • 其架构于Hadoop之上,Hadoop有支持大规模数据存储的组件HDFS,以及支持大规模数据处理的组件MapReduce

    Hive借助于这两个组件,完成数据的存储和处理

    • 其依赖分布式文件系统HDFS存储睡
    • 依赖分布式并行计算系统MapReduce处理数据
    • 借鉴SQL语言设计了新的查询语言HiveQL
  • Hive总结

    • 它定义了简单的类似SQL的查询语言HiveQL
    • 并提供了HiveQL这种语句,来运行具体的MapReduce任务
    • 支持了类似SQL的接口,很容易进行移植
    • Hive是一个可以提供有效合理直观组织和使用数据的分析工具
  • Hive两个方面的特性

    • 采用批处理的方式处理海量数据

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • Hive提供了一系列对数据仓库进行提取、转换、加载(ETL)的工具

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • Hive与Hadoop生态的其他组件的关系

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • Pig和Hive的区别

    • Pig更适合做数据的实时分析,而不是海量数据的批处理,主要是做数据的抽取、转换、加载环节

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • Hive和传统数据库的区别

    • 其在很多方面与传统关系型数据库类似,但是其底层以来的是HDFS和MapReduce,所以在很多方面又有别于传统数据库

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • Hive在企业大数据分析平台中的应用

    • Mahout:Hadoop平台上的开源组件,很多机器学习的算法,在Mahout上都已经实现了

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • Hive在Fackbook公司的应用

    • Fackbook是Hive数据仓库的开发者

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • FaceBook部署了大量的Web服务器

      • Web服务器日志流通过订阅服务器(Scribe Servers)将日志流收集整理,存入Filers(网络日志服务器)

      • Filers将其保存在分布式文件系统之上

        数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • Hive系统架构

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • Hive对外访问接口

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • 驱动模块(Driver)

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • 元数据存储模块(Metastore)

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • Qubbole、Karmasphere、Hue也可以直接访问Hive

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • Hive HA(High Availability)基本原理

    • Hive很多时候会表现出不稳定

    • Hive HA:在集群中设置多个Hive实例,并统一放入资源池,外部所有访问通过HAProxy进行访问

      • 首先用户访问HA Proxy

      • 然后对Hive实例进行逻辑可用性测试,若不可用,则将其加入黑名单,继续测试下一个Hive实例是否可用

      • 每隔一定的周期,HA Proxy会重新对列入黑名单的实例进行统一处理

        数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

9.3 SQL语句转换为MapReduce作业的基本原理
  • SQL中的连接操作转换为MapReduce作业

    • Join的实现原理

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • 连接操作

      • 编写一个Map处理逻辑

      • Map处理逻辑输入关系数据库的表

      • 通过Map对它进行转换,生成一系列键值对

        数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • group by的实现原理

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • Hive如何将SQL语句转为MapReduce操作:当用户向Hive输入一段命令或者查询时,Hive需要和Hadoop交互工作来完成该操作

    • 驱动模块接受该命令或者查询编译器

    • 对该命令或查询进行解析编译

    • 由优化器对该命令或查询进行优化计算

    • 该命令或查询通过执行器进行执行

  • 具体分为七步骤

    • 由Hive驱动模块中的编译器对用户输入的SQL语句进行语法和词法解析,将SQL语句转化为抽象语法数的形式
    • 抽象语法数的结构仍很复杂,不方便直接翻译为MapReduce算法程序,因此,需要把抽象语法数转为查询块
    • 将查询块转化为逻辑查询计划,里面包含了许多逻辑操作符
    • 重写逻辑查询计划,进行优化合并多余操作,减少MapReduce任务数量
    • 将逻辑操作符转换成需要执行的具体MapReduce任务
    • 对生成的MapReduce任务进行优化生成最终的MapReduce任务执行计划(物理计划)
    • 由Hive驱动模块中的执行器对最终的MapReduce任务进行执行输出

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • 简单说明

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

9.4 Impla
9.4.1 Impala简介
  • Hive是建立在Hadoop平台之上,且其依赖底层的MapReduce和HDFS,所以它的延迟比较高

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • Impala底层也是构建在HDFS和HBase之上

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

9.4.2 Impala系统架构
  • Impala系统架构

    • Impala和Hive、HDFS、HBase都是统一部署在一个Hadoop平台上面

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • Impala的典型组件

    • Impalad:负责具体相关的查询任务

      其包含三个模块:

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

      • Impalad作用

        数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • State Store:负责元数据数据管理和状态管理

      • 每个查询提交,系统会为其创建一个StateStored进程

      • 作用

        数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • CLI:用户访问接口

      • 作用

        数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

      • Impala的元数据是直接存储在Hive中的,它是借助Hive来存储Impala的元数据
      • mpala采用与Hive相同的元数据、相同的SQL语法、相同的ODBC驱动程序和用户接口
      • 在—个Hadoop平台上可以统一部署Hive和Impala等分析工 实现在一个平台上面可以同时满足批处理和实时查询
9.4.3 Impala查询执行过程
  • 查询执行过程框图

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • 0.注册和订阅

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • 1.提交查询

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • 2.获取元数据和数据地址

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • 3.分发查询任务

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • 汇聚结果

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • 返回结果

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

9.4.4 Impala与Hive的比较
  • Hive和Impala的不同点

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • Hive适合于长时间的批处理查询分析,而Impala适合于实时交互式SQL查询

    • Hive依赖于MapReduce计算框架,Impala把执行计划表现为一棵完整的执行计划树,直接分发执行计划到各个Impalad执行查询

    • Hive在执行过程中,如果内存放不下所有数据则会使用外存,以保证查询能顺序执行完成;
      Impala在遇到内存放不下数据时,不会利用外存所以Impala目前处理查询时会受到一定的限制

  • Hive和Impala的相同点

    • Hive和Impala使用相同的存储数据池,都支持把数据存储于HDFS和HBase中
    • Hive与Impala使用相同的元数据
    • Hive与Impala中对SQL的解释处理比较相似,都是通过词法分析生成执行计划
  • 总结

    • Impala的目的不在于替换现有的MapReduce工具
    • 把Hive与Impala配合使用效果最佳
    • 可以先使用Hive进行数据转换处理,之后再使用Impala在Hive处理后的结果数据集上进行快速的数据分析
9.5 Hive的安装和基本操作
9.5.1 Hive安装
  • Hive安装

    见:Hive3.1.3安装和使用指南_厦大数据库实验室博客 (xmu.edu.cn)

9.5.2 Hive基本操作
  • Hive数据类型

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • Hive还提供了一些集合数据类型,包括Array、map、struct等
  • Create:创建数据库、表、视图

    • 创建数据库

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • 创建表

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    • 创建视图

      数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • 查看数据库

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • 查看表和视图

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • load:向表中装载数据

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • Insert:向表中插入数据或从表中导出数据

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

  • WordCount算法在MapReduce中的编程实现和在Hive中编程实现的主要不同点

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop

    数据仓库Hive(林子雨课程慕课),大数据应用,hadoop,数据仓库,hive,hadoop文章来源地址https://www.toymoban.com/news/detail-722841.html

到了这里,关于数据仓库Hive(林子雨课程慕课)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hive在阿里巴巴数据仓库中的实践与应用

    作者:禅与计算机程序设计艺术 Apache Hive 是 Hadoop 的一个子项目,它是一个基于 HQL(Hadoop Query Language)语言的查询引擎,可以将结构化的数据文件存储在HDFS上并提供分布式计算功能。Hive 有着良好的扩展性、稳定性、高效执行速度、完备的SQL支持等优点。Hive 适用于互联网行

    2024年02月11日
    浏览(26)
  • 一、Hive数据仓库应用之Hive部署(超详细步骤指导操作,WIN10,VMware Workstation 15.5 PRO,CentOS-6.7)

    Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务运行。Hive具有稳定和简单易用的特性,成为了当前企业在构建企业级数据仓库时使用较为普遍的大数据组件之一。 本实验内容主要

    2024年02月03日
    浏览(26)
  • Hive数据仓库---Hive的安装与配置

    Hive 官网地址:https://hive.apache.org/ 下载地址:http://www.apache.org/dyn/closer.cgi/hive/ 把安装文件apache-hive-3.1.2-bin.tar.gz上传到master节点的/opt/software目 录下,执行以下命令把安装文件解压到/opt/app目录中 进入/opt/app目录,为目录apache-hive-3.1.2-bin建立软件链接 即输入hive就相当于输入a

    2024年02月02日
    浏览(32)
  • 大数据课程F1——HIve的概述

    文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州 ⚪ 了解HIve的概念; ⚪ 了解HIve与数据库的区别; ⚪ 了解HIve的特点; 1. Hive原本是由Facebook公司开发后来贡献给了Apache的一套用于进行数据仓库管理的机制。 2. Hive提供了类SQL(HQL,Hive QL)语句来管理HDFS上的大量

    2024年02月14日
    浏览(46)
  • 大数据课程F4——HIve的其他操作

    文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州 ⚪ 掌握HIve的join; ⚪ 掌握HIve的查询和排序 ⚪ 掌握HIve的beeline ⚪ 掌握HIve的文件格式 ⚪ 掌握HIve的基本架构 ⚪ 掌握HIve的优化; 1. 在Hive中,同MySQL一样,提供了多表的连接查询,并且支持left join,right join,

    2024年02月14日
    浏览(29)
  • 大数据课程F2——HIve的安装操作

    文章作者邮箱:yugongshiye@sina.cn              地址:广东惠州 ⚪ 了解HIve的安装概念; ⚪ 掌握HIve安装步骤和Linux常用命令; ⚪ 掌握HIve安装的连接池jar包冲突和日志打印jar包冲突; ⚪ 掌握HIve安装的Hadoop安装配置; ⚪ 掌握HIve安装的JDK安装配置; ⚪ 掌握HIve安装的MySQL安装

    2024年02月14日
    浏览(23)
  • hive数据仓库工具

    1、hive是一套操作数据仓库的应用工具,通过这个工具可实现mapreduce的功能 2、hive的语言是hql[hive query language] 3、官网hive.apache.org 下载hive软件包地址  Welcome! - The Apache Software Foundation https://archive.apache.org/ 4、hive在管理数据时分为元数据和真数据,其中元数据要保存在数据库中

    2024年02月04日
    浏览(25)
  • hive数据仓库课后答案

    一、 填空题 1.数据仓库的目的是构建面向     分析         的集成化数据环境。 2.Hive是基于     Hadoop         的一个数据仓库工具。 3.数据仓库分为3层,即      源数据层        、     数据应用层        和数据仓库层。 4.数据仓库层可以细分为      明细层

    2023年04月08日
    浏览(37)
  • Hive数据仓库

    数据仓库(英语:Data Warehouse,简称数仓、DW),是一个用于存储、分析、报告的数据系统。 数据仓库的目的是构建面相分析的集成化数据环境,分析结果为企业提供决策支持(Decision Support)。 数据仓库本身并不“产生”任何数据,其数据来源不同外部系统; 同时数据仓库

    2024年02月15日
    浏览(27)
  • Hive 数据仓库介绍

    目录 ​编辑 一、Hive 概述 1.1 Hive产生的原因 1.2 Hive是什么? 1.3 Hive 特点 1.4 Hive生态链关系 二、Hive架构 2.1 架构图 2.2 架构组件说明 2.2.1 Interface 2.2.1.1 CLI 2.2.1.2 JDBC/ODBC 2.2.1.3 WebUI 2.2.2 MetaData 2.2.3 MetaStore 2.2.4 Hiveserver2 2.2.5 Driver 2.2.5.1 解释器 2.2.5.2 编译器 2.2.5.3 优化器 2.2.5.4 执行

    2024年02月07日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包