【数据开发】大数据平台架构,Hive / THive介绍

1、大数据引擎

大数据引擎是用于处理大规模数据的软件系统
常用的大数据引擎包括Hadoop、Spark、Hive、Pig、Flink、Storm等。
其中,Hive是一种基于Hadoop的数据仓库工具,可以将结构化的数据映射到Hadoop的分布式文件系统上,并提供类SQL查询功能
与传统数据库相比,Hive的优势在于能够处理海量数据,并且可以在廉价的硬件上运行。同时,Hive的查询语言与SQL相似,易于使用和学习。

与传统数据库相比,数据引擎的区别在于:
1.数据量:传统数据库通常处理的是小规模数据,而大数据引擎可以处理海量数据。
2.处理方式:传统数据库采用事务处理的方式,而大数据引擎采用批处理或流处理的方式。
3.硬件要求:传统数据库需要高性能的硬件支持,而大数据引擎可以在廉价的硬件上运行。
4.数据类型:传统数据库通常处理结构化数据,而大数据引擎可以处理结构化、半结构化和非结构化数据。
总之,大数据引擎是为了处理海量数据而设计的软件系统,与传统数据库相比具有更高的数据处理能力和更灵活的数据处理方式。

数据处理方式对比

  • 批处理:批处理是一种数据处理方式,它将一批数据作为一个整体进行处理,通常是离线处理。批处理适合处理大量数据,但处理速度较慢,适用于需要全量数据分析的场景,例如数据仓库、离线计算等。
  • 流处理:流处理是一种实时数据处理方式,它将数据流作为输入,实时处理并输出结果。流处理适合处理实时数据,处理速度快,适用于需要实时计算的场景,例如实时监控、实时推荐等。

数据类型对比:

  • 半结构化数据:半结构化数据是介于结构化数据和非结构化数据之间的一种数据类型,它具有一定的结构,但不像结构化数据那样严格定义。半结构化数据通常采用XML、JSON、YAML等格式存储,例如网页、日志等。
  • 非结构化数据:非结构化数据是指没有固定结构的数据,例如文本、图片、音频、视频等。非结构化数据通常难以通过传统的关系型数据库进行处理,需要借助大数据技术进行处理和分析。

Hadoop、Hive和Spark对比
虽然都是大数据处理的开源框架,它们有着不同的特点和用途。

  • Hadoop是一个分布式计算框架,主要用于存储和处理大规模数据集。它包括HDFS(Hadoop分布式文件系统)和MapReduce两个主要组件,可以实现分布式存储和计算,以及高可靠性和容错性。
  • Hive是基于Hadoop的数据仓库工具,它提供了类SQL查询功能,可以将结构化的数据映射到Hadoop的分布式文件系统上。Hive通过将SQL语句转换为MapReduce任务来实现查询和分析,可以方便地进行数据处理和分析。
  • Spark是一个**快速、通用、可扩展的大数据处理引擎,它支持批处理和流处理,**并提供了高级API,如Spark SQL、Spark Streaming、MLlib和GraphX等。Spark通过内存计算和RDD(弹性分布式数据集)来提高计算性能,可以处理更大规模的数据和更复杂的计算任务。
  • 总体来说,Hadoop提供了分布式存储和计算的基础设施,Hive提供了类SQL查询功能,而Spark则提供了更高级的数据处理和分析功能
  • 它们可以相互配合使用,例如使用Hadoop作为底层存储和计算基础设施,使用Hive进行数据查询和分析,使用Spark进行更高级的数据处理和分析。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2、什么是Hive / THive

什么是Hive?

  • Hive是一个基于Hadoop的数据仓库工具。
  • 它提供了一个类似于SQL的查询语言,称为HiveQL,用于查询和分析大规模数据集。
  • Hive将结构化数据映射到Hadoop的分布式文件系统和Hadoop的分布式处理引擎上,允许用户使用类似于SQL的语言查询数据,并将数据转换为其他格式,例如MapReduce任务。
  • Hive引擎是一个基于Hadoop的数据仓库工具,它提供了一个类似于SQL的查询语言,称为HiveQL,用于查询和分析大规模数据集。

什么是THive?

  • THive是一个开源的Hive JDBC驱动程序,它可以让用户使用任何支持JDBC的工具(例如Tableau,Excel等)连接到Hive。
  • 因此,THive并不是一个数据仓库工具,而是一个Hive的JDBC驱动程序

因此,Hive和THive是两个不同的东西,Hive是一个数据仓库工具,而THive是一个Hive的JDBC驱动程序。

Hive引擎分类

  • 速度排名:THive on MapReduce < THive on Spark < Presto
  • Hive可以使用两种不同的引擎:MapReduce和Tez。MapReduce是Hadoop的默认引擎,而Tez是一个更快的引擎,它使用了更高级别的优化技术。
  • THive on MapReduce是THive的另一个变种,它使用了MapReduce作为计算引擎。MapReduce是Hadoop的默认计算引擎,它可以处理大规模数据集,但速度较慢。
  • THive on Spark是THive的一个变种,它使用了Spark作为计算引擎。Spark是一个快速的分布式计算引擎,它可以在内存中进行计算,因此比MapReduce更快。THive on Spark可以提供更快的查询速度和更好的性能。
  • Presto是一个分布式SQL查询引擎,它可以查询多个数据源,包括Hive、MySQL、PostgreSQL等。Presto的查询速度非常快,可以处理PB级别的数据。与Hive不同,Presto不需要将数据转换为MapReduce任务,因此可以提供更快的查询速度和更好的性能
  • 因此,Hive、THive on Spark、THive on MapReduce和Presto都是用于查询和分析大规模数据集的工具,但它们使用的计算引擎不同,因此在性能和查询速度方面也存在一定的差异

在这里插入图片描述

3、数据存储: Mysql=>HDFS=>数仓

Mysql=>HDFS=>数仓

  • 数仓有更强的数据处理能力,但是限定数据格式之类的要求
  • Mysql轻量级,数据量少,但是格式和可定义的的功能多。
  • Mysql和数仓都是结构化数据,HDFS是非结构化数据。

HDFS(Hadoop分布式文件系统)和MySQL是两种不同类型的数据存储系统,它们有以下区别:

  1. 数据类型:HDFS适合存储大规模的非结构化数据,如日志、图像、音频、视频等,而MySQL适合存储结构化数据,如表格数据。
  2. 存储方式:HDFS是一种分布式文件系统,数据被分割成多个块并存储在不同的服务器上,而MySQL是一种关系型数据库系统,数据被存储在表格中。
  3. 存储容量:HDFS可以存储海量数据,可以通过添加新的服务器来扩展存储容量,而MySQL存储容量相对较小,需要更高级的硬件支持才能扩展存储容量。
  4. 数据处理方式:HDFS采用批处理方式进行数据处理,适合离线数据处理和分析,而MySQL支持实时查询和更新,适合在线数据处理和交互式查询。
  5. 数据安全性:HDFS提供了数据冗余和备份机制,可以保证数据的高可靠性和容错性,而MySQL需要通过备份和复制等方式来保证数据的安全性。

总之,HDFS和MySQL是两种不同类型的数据存储系统,适用于不同的数据存储和处理场景。HDFS适合存储大规模的非结构化数据,如日志、图像、音频、视频等,而MySQL适合存储结构化数据,如表格数据。

数据仓库(Data Warehouse)是一种用于存储和管理企业数据的系统,它可以将不同来源的数据集成到一个统一的数据模型中,以便进行数据分析和决策支持。与HDFS和MySQL相比,数据仓库有以下区别:

  1. 数据类型:数据仓库通常存储结构化数据,如表格数据,而HDFS适合存储大规模的非结构化数据,如日志、图像、音频、视频等,MySQL则可以存储结构化数据和半结构化数据。

  2. 数据集成:数据仓库可以将不同来源的数据集成到一个统一的数据模型中,以便进行数据分析和决策支持,而HDFS和MySQL通常只能存储和处理单一来源的数据。

  3. 数据处理方式:数据仓库通常采用OLAP(联机分析处理)方式进行数据处理,支持复杂的多维分析和数据挖掘,而HDFS和MySQL通常采用OLTP(联机事务处理)方式进行数据处理,支持实时查询和更新。

  4. 存储容量:HDFS可以存储海量数据,可以通过添加新的服务器来扩展存储容量,MySQL存储容量相对较小,需要更高级的硬件支持才能扩展存储容量,而数据仓库也需要高性能的硬件支持来存储和处理大规模的数据。

总之,数据仓库、HDFS和MySQL都是不同类型的数据存储和处理系统,适用于不同的数据存储和处理场景。数据仓库适合存储和处理结构化数据,支持复杂的多维分析和数据挖掘,HDFS适合存储大规模的非结构化数据,MySQL适合存储结构化数据和半结构化数据。

将MySQL中的数据导出到HDFS,再将HDFS中的数据导入到数据仓库,中间的原理主要包括以下几个方面:

  1. 数据抽取:将MySQL中的数据抽取到HDFS中,通常采用Sqoop进行数据抽取。Sqoop通过MapReduce作业实现数据抽取,首先将数据划分为多个数据块,然后在每个数据块上运行MapReduce作业,将数据转换为Hadoop的输入格式并写入HDFS。

  2. 数据转换:将抽取的数据进行转换和清洗,使其符合数据仓库的数据模型和数据质量要求。通常采用ETL(Extract-Transform-Load)工具进行数据转换和清洗,如Apache Nifi、Talend等。ETL工具可以对数据进行格式转换、数据清洗、数据合并等操作,以便将数据转换为数据仓库需要的格式。

  3. 数据加载:将转换后的数据加载到数据仓库中,通常采用数据仓库的ETL工具进行数据加载,如ODI(Oracle Data Integrator)、Informatica等。ETL工具可以将转换后的数据加载到数据仓库中,并进行数据校验和质量控制,以保证数据的准确性和完整性。

  4. 数据建模:在数据仓库中进行数据建模,以便进行数据分析和决策支持。数据建模通常采用ER建模工具进行建模,如ERwin、PowerDesigner等。ER建模工具可以根据数据仓库的需求进行数据建模,包括实体、属性、关系等。

  5. 数据分析:在数据仓库中进行数据分析和决策支持,通常采用BI(Business Intelligence)工具进行数据分析和报表生成,如Tableau、QlikView等。BI工具可以从数据仓库中提取数据,并进行数据分析和可视化展示,以便进行决策支持和业务分析。

总之,将MySQL中的数据导出到HDFS,再将HDFS中的数据导入到数据仓库,需要进行数据抽取、转换、加载、建模和分析等多个步骤,其中涉及到多种技术和工具的应用,以实现数据的高效、准确和可靠的处理和分析

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

✔ ★【备战实习(面经+项目+算法)】 11.6 学习

✔ ★【备战实习&#xff08;面经项目算法&#xff09;】 坚持完成每天必做如何找到好工作1. 科学的学习方法&#xff08;专注&#xff01;效率&#xff01;记忆&#xff01;心流&#xff01;&#xff09;2. 每天认真完成必做项&#xff0c;踏实学习技术 认真完成每天必做&…

【Vue.js】Vue3全局配置Axios并解决跨域请求问题

系列文章目录 文章目录 系列文章目录背景一、部署Axios1. npm 安装 axios2. 创建 request.js&#xff0c;创建axios实例3. 在main.js中全局注册axios4. 在页面中使用axios 二、后端解决跨域请求问题方法一 解决单Contoller跨域访问方法二 全局解决跨域问题 背景 对于前后端分离…

8 ICMP与ping

1、ICMP 协议的格式 一般在网络不同的时候&#xff0c;我们首先想到的是ping 那你知道 ping 是如何工作的吗&#xff1f; 1.ping 是基于 ICMP 协议工作的。 2.ICMP全称Internet Control Message Protocol&#xff0c;就是互联网控制报文协议。这里的关键在于"控制"…

Ubuntu 创建用户

在ubuntu系统中创建用户&#xff0c;是最基本的操作。与centos7相比&#xff0c;有较大不同。 我们通过案例介绍&#xff0c;讨论用户的创建。 我们知道&#xff0c;在linux中&#xff0c;有三类用户&#xff1a;超级管理员 root 具有完全权限&#xff1b;系统用户 bin sys a…

STM32 GPIO 描述

一、GPIO功能描述 每个GPIO端口有两个32位配置寄存器(GPIOx_CRL&#xff0c;GPIOx_CRH) &#xff0c;两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR) &#xff0c;一个32位置位/复位寄存器(GPIOx_BSRR)&#xff0c;一个16位复位寄存器(GPIOx_BRR)和一个32位锁定寄存器(GPIOx_LCKR…

基于Springboot 智能公交站台系统-计算机毕设 附源码 37261

Springboot 智能公交站台系统 目 录 摘 要 1 绪论 1.1 研究背景 1.2研究意义 1.3相关技术介绍 1.4论文结构与章节安排 2 智能公交站台系统需求分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.1.4 法律可行性分析 2.2 系…

分布式单元化

一 分布式单元化 1.1 两地三中心 顾名思义&#xff0c;两地指的是两个城市&#xff1a;同城&#xff0c;异地。三中心指的是三个数据中心&#xff1a;生产中心、同城容灾中心、异地容灾中心。 在同一个城市或者临近的城市建设两个相同的系统&#xff0c;双中心具备相当的业…

分享99个节日庆典PPT,总有一款适合您

分享99个节日庆典PPT&#xff0c;总有一款适合您 PPT下载链接&#xff1a;https://pan.baidu.com/s/16tBTcXRc7aGU1rQkcVZeOA?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易。知识…

C语言运行代码示例

这是一个基本的 C 爬虫程序&#xff0c;使用了 C11 版本。这个程序使用了 C11 的标准库&#xff0c;包括了网络编程库&#xff08;<net/http>&#xff09;&#xff0c;字符串处理库&#xff08;<string>&#xff09;和文件操作库&#xff08;<fstream>&#…

平面扫描(Plane-sweeping)深度体会

先看文章 三维重建之平面扫描算法&#xff08;Plane-sweeping&#xff09;_plane sweeping_小玄玄的博客-CSDN博客 Plane Sweeping | 平面扫描 - 知乎 (zhihu.com) 注意平面Dm,这是其中一个平面&#xff0c;平面上有一个M点&#xff0c;这个点也再物体上。所以会被摄像机看到…

计算机编程软件编程基础知识,中文编程工具下载分享

计算机编程软件编程基础知识&#xff0c;中文编程工具下载分享 给大家分享一款中文编程工具&#xff0c;零基础轻松学编程&#xff0c;不需英语基础&#xff0c;编程工具可下载。 这款工具不但可以连接部分硬件&#xff0c;而且可以开发大型的软件&#xff0c;象如图这个实例…

猫头虎分享从Python到JavaScript传参数:多面手的数据传递术

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

[wp]NewStarCTF 2023 WEEK5|WEB

前言:比赛是结束了&#xff0c;但我的学习还未结束&#xff0c;看看自己能复习几道题吧&#xff0c;第四周实在太难 Final 考点&#xff1a; ThinkPHP 5.0.23 RCE一句话木马上传SUID提权&#xff08;find&#xff09; 解题: 首先页面就给了ThinkPHP V5&#xff0c; 那无非考…

Mac PS2023/2024储存窗口黑屏不显示 解决方法

mac 版本ps2023&#xff0c;存储为窗口突然显示为空白了&#xff0c;没有任何文字按钮&#xff0c;尝试过重启软件、重启电脑、重新安装、电脑系统更新&#xff0c;皆没有效果。 仅ps2023有这个bug&#xff0c;其他操作正常。 具体步骤: 1.打开finder, 先点击左边文稿, 再点击…

element的表单校验正常手机号码以及输入框填写“不详”的情况

element的表单校验正常手机号码以及输入框填写“不详”的情况 <el-col :span"6"><el-form-item label"手机号码" prop"phoneNumber" class"grid-content bg-purple"><el-input v-model"testForm.phoneNumber&quo…

妙用Java 8中的 Function接口,消灭if...else(非常新颖的写法)

文章目录 Function 函数式接口Supplier供给型函数Consumer消费型函数Runnable无参无返回型函数Function函数的表现形式为接收一个参数&#xff0c;并返回一个值。Supplier、Consumer和Runnable可以看作Function的一种特殊表现形式 使用小技巧处理抛出异常的if处理if分支操作如果…

jsonlite库

jsonlite是一个R语言中用于处理JSON数据的库。它提供了一组简单而强大的函数&#xff0c;用于解析、生成和转换JSON数据。 使用jsonlite库&#xff0c;您可以轻松地将JSON数据解析为R语言中的数据结构&#xff0c;如列表或数据框。您还可以将R语言中的数据结构转换为JSON格式&…

开源项目管理工具Helper的安装及汉化

什么是 Helper &#xff1f; Helper 是基于 Laravel 和 Filament 的开源项目管理工具。 官方提供了在线演示&#xff1a;https://project-helper.net 安装 在群晖上以 Docker 方式安装。 数据库理论上是可以使用群晖自带的 MariaDB 的&#xff0c;但老苏为了省事&#xff0c…

python获取电脑所连接的wifi密码

电脑连接wifi后&#xff0c;很难直观地看到当前连接wifi的密码&#xff0c;需要借助命令行公管局才可以查看到相关信息。 CMD命令 查看所有已保存的wifi配置信息 netsh wlan show profiles查看某一个wifi的详细信息&#xff0c;需要输入wifi名称来查询 netsh wlan show pro…

redis数据库基础知识

目录 redis数据库简介redis的版本redis数据类型先导知识一、redis数据库简介 Redis是一个基于键值(key-value)存储系统的非关系型数据库。它由Salvatore Sanfilippo开发,并使用ANSI C语言编写的开源数据库。Redis具有高性能和高并发处理能力,适用于实时的数据存储和访问需求…