基于分布式文件系统Hadoop的数据仓库Hive

大数据扫盲!详解Hadoop核心架构 通过对Hadoop分布式计算平台最核心的分布式文件系统HDFS、MapReduce处理过程,以及数据仓库工具Hive和分布式数据库Hbase的介绍。基本涵盖了Hadoop分布式平台的所有技术核心。 通过阶段性的调研总结,从内部机理的角度详细分析,HDFS、MapReduce、Hbase、Hive是如何运行,以及基于Hadoop数据仓库的构建和分布式数据库内部具体实现。 HDFS的体系架构 ... 阅读详情

 

Hadoop+Hive的架构图

 

hive 架构

 

 

什么是数据仓库?它与数据库的区别在哪里?

简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。

数据库一般存储在线交易数据,数据仓库存储的一般是历史数据。

数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,数据仓库在设计是有意引入冗余,采用反范式的方式来设计。

数据库是为捕获数据而设计,数据仓库是为分析数据而设计,它的两个基本的元素是维表和事实表。维是看问题的角度,比如时间,部门,维表放的就是这些东西的定义,事实表里放着要查询的数据,同时有维的ID。

单从概念上讲,有些晦涩。任何技术都是为应用服务的,结合应用可以很容易地理解。以银行业务为例。数据库是事务系统的数据平台,客户在银行做的每笔交易都会写入数据库,被记录下来,这里,可以简单地理解为用数据库记帐。数据仓库是分析系统的数据平台,它从事务系统获取数据,并做汇总、加工,为决策者提供决策的依据。比如,某银行某分行一个月发生多少交易,该分行当前存款余额是多少。如果存款又多,消费交易又多,那么该地区就有必要设立ATM了。

显然,银行的交易量是巨大的,通常以百万甚至千万次来计算。事务系统是实时的,这就要求时效性,客户存一笔钱需要几十秒是无法忍受的,这就要求数据库只能存储很短一段时间的数据。而分析系统是事后的,它要提供关注时间段内所有的有效数据。这些数据是海量的,汇总计算起来也要慢一些,但是,只要能够提供有效的分析数据就达到目的了。

数据仓库,是在数据库已经大量存在的情况下,为了进一步挖掘数据资源、为了决策需要而产生的,它决不是所谓的“大型数据库”。那么,数据仓库与传统数据库比较,有哪些不同呢?让我们先看看W.H.Inmon关于数据仓库的定义:面向主题的、集成的、与时间相关且不可修改的数据集合。

“面向主题的”:传统数据库主要是为应用程序进行数据处理,未必按照同一主题存储数据;数据仓库侧重于数据分析工作,是按照主题存储的。这一点,类似于传统农贸市场与超市的区别—市场里面,白菜、萝卜、香菜会在一个摊位上,如果它们是一个小贩卖的;而超市里,白菜、萝卜、香菜则各自一块。也就是说,市场里的菜(数据)是按照小贩(应用程序)归堆(存储)的,超市里面则是按照菜的类型(同主题)归堆的。

“与时间相关”:数据库保存信息的时候,并不强调一定有时间信息。数据仓库则不同,出于决策的需要,数据仓库中的数据都要标明时间属性。决策中,时间属性很重要。同样都是累计购买过九车产品的顾客,一位是最近三个月购买九车,一位是最近一年从未买过,这对于决策者意义是不同的。

“不可修改”:数据仓库中的数据并不是最新的,而是来源于其它数据源。数据仓库反映的是历史信息,并不是很多数据库处理的那种日常事务数据(有的数据库例如电信计费数据库甚至处理实时信息)。因此,数据仓库中的数据是极少或根本不修改的;当然,向数据仓库添加数据是允许的。

数据仓库的出现,并不是要取代数据库。目前,大部分数据仓库还是用关系数据库管理系统来管理的。可以说,数据库、数据仓库相辅相成、各有千秋。

补充一下,数据仓库的方案建设的目的,是为前端查询和分析作为基础,由于有较大的冗余,所以需要的存储也较大。为了更好地为前端应用服务,数据仓库必须有如下几点优点,否则是失败的数据仓库方案。

1.效率足够高。客户要求的分析数据一般分为日、周、月、季、年等,可以看出,日为周期的数据要求的效率最高,要求24小时甚至12小时内,客户能看到昨天的数据分析。由于有的企业每日的数据量很大,设计不好的数据仓库经常会出问题,延迟1-3日才能给出数据,显然不行的。

2.数据质量。客户要看各种信息,肯定要准确的数据,但由于数据仓库流程至少分为3步,2次ETL,复杂的架构会更多层次,那么由于数据源有脏数据或者代码不严谨,都可以导致数据失真,客户看到错误的信息就可能导致分析出错误的决策,造成损失,而不是效益。

3.扩展性。之所以有的大型数据仓库系统架构设计复杂,是因为考虑到了未来3-5年的扩展性,这样的话,客户不用太快花钱去重建数据仓库系统,就能很稳定运行。主要体现在数据建模的合理性,数据仓库方案中多出一些中间层,使海量数据流有足够的缓冲,不至于数据量大很多,就运行不起来了。

Hadoop、HDFS、Hive、Hbase区别及联系 Hadoop、HDFS、Hive和HBase是大数据生态系统中的关键组件,它们都是由Apache软件基金会管理的开源项目。下面将深入解析它们之间的区别和联系。 阅读详情

相关推荐

Hive 是基于Hadoop 构建的一套数据仓库分析系统

Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需 要的内容,这套SQL 简称Hive SQL,使不熟悉mapreduce 的用户很方便的利用SQL 语言查询,汇总,分析数据。而mapreduce开发人员可以把 己写的mapper 和reducer 作为插件来支持H.

具身机器人和通用AI 1657

数据仓库和数据库的区别

本文主要介绍数据仓库和数据库的区别,首先描述下数据仓库是什么: 数据仓库的本质还是一个数据库,它将各个异构的数据源数据库的数据给统一管理起来,并且完成了质量较差的数据的剔除、格式转换,最终按照一种合理的建模方式来完成源数据组织形式的转变,以更好的支持到前端的可视化分析。 数据仓库中主要存储的是结构化的数据,但是它的来源可以是多种类型的数据来源(结构化、半结构化、非结构化),中间需要一个ETL过程。 一、用途 数据库:主要用于事务处理,即OLTP(Transaction),也就是我们常用的面向业务的增删改查操

啥也不是 2万+

Hadoop及Hive环境介绍

重点讲述Hadoop及Hive的环境介绍,主要的内容包含有分布式文件系统[HDFS] 、分布式计算(MapReduce)、数据仓库工具(Hive)、数仓分层 等相关的知识

不曾走远的博客 416

数据库与数据仓库的区别是什么?

不能简单的说数据仓库是数据库的扩大版,它们是针对不同的服务而产生的,传统的数据库针对(OLTP)联机事务处理,主要应用与业务处理。而数据仓库针对(OLAP)联机分析处理,主要为决策服务。个人感觉在大小上面,没有必然的大小的区别,但是通常数据仓库要比数据库大,因为数据仓库是通过集成各种不同的异构数据库而成的。 简而言之,数据库是面向事务的设计,数据仓库是面向主题设计的。 数据库一般存储在线交易数

半亩方塘 2559

RK3588嵌入式AI部署实战:从环境搭建到模型推理全链路

嵌入式AI部署涉及交叉编译、NPU驱动、模型量化与运行时环境等多个技术环节,其核心挑战在于软硬件版本矩阵的严格匹配。在边缘计算场景中,RK3588凭借6TOPS NPU算力成为热门平台,但环境搭建与模型转换的复杂性常导致部署效率低下。通过容器化工具链管理、量化参数对齐及多线程推理优化,可显著提升部署稳定性与推理性能。典型应用包括智能安防、工业质检与视频结构化分析。本文围绕RK3588的AI部署与环境搭建,系统梳理从系统烧录到板端推理的完整实践路径。

weixin_42520573的博客 282

告别TwinCAT:手把手教你用IgH EtherCAT Master在LinuxCNC上搭建实时运动控制平台

本文详细介绍了如何利用IgH EtherCAT Master和LinuxCNC搭建开源实时运动控制平台,替代商业软件TwinCAT。通过分步指南,包括实时Linux环境配置、EtherCAT主站安装、LinuxCNC集成及多轴同步控制实现,帮助开发者构建高性能、低成本的工业自动化解决方案。

weixin_42641741的博客 400

数据仓库与数据库之间的区别与联系

数据库:主要用于事务处理,即OLTP(On-Line Transaction Processing)【联机事务处理】,也就是我们常用的面向业务的增删改查操作。常用的数据库有Mysql,Oracle,PostgreSQL。 数据仓库:主要用于数据分析,即OLAP(On-Line Analytical Processing)【联机分析处理】,供上层决策,常见于一些查询性的统计数据。常见的数仓有Greenplum,Hive。基于MYISAM存储引擎的MySQL也是可以用来做数据仓库的。

张小鱼的博客 3594

使用moveit中的报错及解决

1.fatal error: moveit/move_group_interface/move_group.h: 没有那个文件或目录。// #include <moveit/move_group_interface/move_group.h> 改为。问题1 moveit/move_group_interface/move_group.h: 没有那个文件或目录。在运行c++程序时报错。

qq_60566155的博客 2285

数据仓库和数据库有什么区别?

数据仓库和数据库是两种不同类型的数据存储解决方案,它们在设计、用途和功能上存在显著差异。首先,数据库主要用于事务处理系统,它们支持日常操作,如数据的插入、更新和删除。数据库通常具有高度规范化的结构,以减少数据冗余并确保数据一致性

杨荧的优快云博客 2358

利用Android系统漏洞实现后台弹窗(外弹)

关键:从 Android 8.0(API 26)开始,禁止使用 context.sendBroadcast() 发送隐式广播(即没有指定 setPackage() 或明确组件的广播)。demo核心代码展示利用Android显示系统和广播系统的漏洞实现在后台弹窗的功能,支持最新Android15,16版本。核心功能都是在so层去做,大量使用了jni反调, 如果要上架到应用市场,需要对代码做进一步混淆,加固以应对市场安全扫描。3,开启虚拟显示窗口,这是个透明像素窗口。5,可开启一个线程,调用这个外弹窗口。

2018,再出发~ 1315

vue 插件vue-awesome-swiper实现 三张图片,左右两边显示一半的效果的示例

希望我的愚见能够帮助你哦~,若有不足之处,还望指出,你们有更好的解决方法,欢迎大家在评论区下方留言支持,大家一起相互学习参考呀~

weixin_50450473的博客 3244

数据库与数据仓库的区别及关系

数据库是为捕获数据而设计,数据仓库是为分析数据而设计**。数据库和数据仓库都有各自的优势和局限性,它们各自适用于不同的场景。数据库更适合用于快速处理事务性操作,而数据仓库则更适合用于进行复杂的数据分析和查询。它们各自有不同的用途和优化方式,可以根据实际需求选择使用。

qq_43605229的博客 7843

【部署】Ubuntu 24.04.4虚拟机下部署OpenClaw

OpenClaw是一款基于AI的智能助手工具,本文详细介绍了在Ubuntu 24.04.4系统上的三种安装方法。推荐使用一键安装脚本(curl -fsSL https://openclaw.ai/install.sh | bash),自动完成Node.js检测、CLI安装和引导配置。对于开发者,提供了从源码构建的详细步骤,包括环境准备、依赖安装和构建流程。文章还包含常见问题解决方案(如sharp构建错误处理)以及后续维护建议(更新、配置检查和日志查看)。安装完成后,用户可通过终端TUI或Web UI进行初始

海兰 1万+

Hive 与 HDFS 之间的联系、Hive 与 关系型数据库的区别

1 Hive 与 HDFS 之间的联系(1)hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 sql 查询功能,可以将 sql 语句转换为 MapReduce 任务进行运行。其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开发专门的 MapReduce 应用,十分适合数据仓库的统计分析。(2)Hive

HeatDeath的博客 2万+

【华为OD机试真题 新系统】959、 水库溃坝填补 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

【华为OD机试真题 2025C卷】959、 水库溃坝填补 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何备战华

KJ.JK 2932

【Mini KITTI】KITTI数据集简介 — Mini KITTI

为了快速进行算法调试、训练、评估和验证,以及快速下载,制作了一个mini kitti数据集,数据集的文件目录结构与完整KITTI数据集保持一致。其中,小型的KITTI数据集,即 mini kitti保存了20个训练样本和5个测试样本。下载地址为:。 关于KITTI各个部分的介绍请分别参考以下内容: ...

叶子的博客 7533

大数据基础hadoop / hive / hbase

HDFS,它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务 器有各自的角色。​。

shjggbdjkh的博客 1763

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

hadoop

一、Hadoop入门,了解什么是hadoop 1. Hadoop产生背景  2. Hadoop在大数据、云计算中的位置和关系  3. 国内外Hadoop应用案例介绍  4. 国内Hadoop的就业情况分析及课程大纲介绍  5. Hadoop生态圈以及各组成部分的简介  6. Hadoop核心MapReduce简单例子说明 二、分布式文件系统HDFS

一介码农,热爱金融。 774

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Hadoop中Zookeeper,HDFS,Hbase,Hive,Pig的概念介绍与比较

Hadoop:一个分布式系统基础架构,由Apache基金会所开发。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high

我们的家 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Hadoop介绍

1、Hadoop的整体框架 Hadoop由HDFS、MapReduce、HBase、Hive和ZooKeeper等成员组成,其中最基础最重要元素为底层用于存储集群中所有存储节点文件的文件系统HDFS(Hadoop Distributed File System)来执行MapReduce程序的MapReduce引擎。 (1)Pig是一个基于Hadoop的大规模数据分析平台,Pig为复杂的海量数据并行计算提供了一个简单的操作和编程接口; (2)Hive是基于Hadoop的一个工具,提供完整的SQL查询..

qq_36777191的博客 276

浅谈HDFS(Hadoop Distributed File System)

Hadoop概述 Hadoop实现了一个分布式文件系统 hive概述 hive 是基于Hadoop的一款数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。 hbase概述 hbase的优势吞吐量高 HBase是一个分布式的、面向列的开源数据库,基于hdfs。 Phoenix on hbase 概述 Apache Phoenix是基于BSD许可开源的一个Java中间层,可以让开发者在Apache HBase上执行SQL查询。 Phoenix on

阿鹏 275

Hadoop生态圈中HBase、Hive、Hdfs的作用

HBase Hbase是类似redis的NoSql数据库,如果需要快速插入和大量读取我们就使用Hbase。 Hive hive是基于Hadoop的一个数据仓库工具 可以将结构化的数据文件映射为一张表,并提供类sql查询功能,Hive底层将sql语句转化为mapreduce任务运行 这样我们使用的时候就不用编写java代码来作mapreduce任务,只需要使用sql语句就能处理hdfs中的...

qq_37321741的博客 2198

大数据入门-大数据技术概述(一)

一、简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构。 Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中 Hadoop的核心是分布式文件系统HDFS(Hadoop Distributed File System)和MapReduce Hadoop被公认为行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力 几乎所有主流厂商都围绕Hadoop提供开发工具、开源软件、商业化工具

水坚石青的博客 1万+

Hadoop生态圈总结——大数据

Hadoop的发展史:  生态圈图解:    MapReduce:分布式数据处理模型和执行环境、运行于大型商用机集群。   ZooKeeper:一个分布式、高可用的协调服务。ZooKeeper提供分布式锁之类的基本服务用于构建分布式应用。   HDFS:   分布式文件系统,运行于大型商用机集群。 Hadoop体系最底层的一个模块。为Hadoop各子项目提供各种工具,如:配置...

SuperMan程序人生(关注微信公众号) 4432

HDFS与Hive实战 + 滴滴出行数据分析

HDFS与Hive实战 + 滴滴出行数据分析1.HDFS1.1 分布式文件系统1.2 HDFS的Shell命令行1.3 启动Hadoop集群1.4 大数据环境清单2.数据仓库2.1 数据仓库与数据库区别3.Hive3.1 终端连接Hive3.2 Hive操作命令3.3 Hive函数4. Zeppelin5.滴滴出行数据分析5.1 架构图5.2 日志数据集介绍5.3 构建数据仓库5.4 ods创建用户打车订单表5.5 创建分区5.6 上传到对应分区5.7 数据预处理5.8 订单分析5.8.1 app层建表5

cjl的博客 5184

Hadoop大家庭有哪些?Hadoop家族主要成员关系

Common 一组由分布式文件系统和通用I/O的组件与接口(序列化, Java RPC, 持久化数据结构)。 Avro 一种支持高效、跨语言的RPC以及永久化存储数据的序列化系统。 MapReduce 分布式数据处理模型和执行环境,运行于大型的商用机集群。 HDFS 分布式文件系统,运行于大型的商用机集群。 Pig 一种数据流语言和运行环境,用以检

中科院计算所培训中心 1546
上一篇: kd-tree : k近邻查询和范围查询
下一篇: 计算机网络实验——ns3仿真最短路由选择算法
vectorX
博客等级 码龄11年 37粉丝 21原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值