⼤数据⼊门知识总结
⼤数据⼊门知识总结
⼀、⼤数据部门及流程
1、部门架构
2、⼤数据处理流程
⼆、数据仓库
1、数据仓库的基本概念
数据仓库(Data Warehouse,DW/DWH)是⼀个很⼤的数据存储集合,出于企业的分析性报告和决策⽀持⽬的⽽创建,对多样的业务数据进⾏筛选与整合。它为企业提供⼀定的BI(商业智能)能⼒,指导业务流程改进、监视时间、成本、质量以及控制。
数据仓库的输⼊⽅是各种各样的数据源,最终的输出⽤于企业的数据分析、数据挖掘、数据报表等⽅向。
数据仓库⾯向分析,平时的Mysql数据库主要⾯向业务。
数据仓库是专门⽤来进⾏数据分析的,它可以是Mysql、Oracle等数据库,但是在⼤数据中常⽤到的是Hive。
2、数据仓库的主要特征
数据仓库是⾯向主题的、集成的、稳定的和时变的数据集合,⽤以⽀持管理决策。
(1)主题性
不同于传统数据库对应于某⼀个或多个项⽬,数据仓库根据使⽤者实际需求,将不同数据源的数据在⼀个较⾼的抽象层次上做整合,所有数据都围绕某⼀主题来组织。
⽐如对于城市,“天⽓湿度分析”就是⼀个主题。对于淘宝,“⽤户点击⾏为分析”就是⼀个主题。
(2)集成性
数据仓库中存储的数据是来源于多个数据源的集成,原始数据来⾃不同的数据源,存储⽅式各不相同。要整合成为最终的数据集合,需要从数据源经过⼀系列抽取、清洗、转换的过程。
(3)稳定性
数据仓库中保存的数据是⼀系列历史快照,不允许被修改。⽤户只能通过分析⼯具进⾏查询和分析。这⾥说明⼀点,数据仓库基本上是不许允许⽤户进⾏修改,删除操作的。⼤多数的场景是⽤来查询分析数据。
(4)时变性
数据仓库会定期接收新的集成数据,反应出最新的数据变化。这和稳定特点并不⽭盾。
3、数据仓库与数据库区别
(1)数据库
数据库是⾯向交易的处理系统,它是针对具体业务在数据库联机的⽇常操作,通常对记录进⾏查询、修改。⽤户较为关⼼操作的响应时间、数据的安全性、完整性和并发⽀持的⽤户数等问题。传统的数据库系统作为数据管理的主要⼿段,主要⽤于操作型处理,也被称为联机事务处理 OLTP(On-Line Transaction Processing)。
(2)数据仓库
数据仓库⼀般针对某些主题的历史数据进⾏分析,⽀持管理决策,⼜被称为联机分析处理 OLAP(On-Line Analytical Processing)。⾸先要明⽩,数据仓库的出现,并不是要取代数据库。
(3)两者区别
数据库是⾯向事务的设计,数据仓库是⾯向主题设计的。
数据库⼀般存储业务数据,数据仓库存储的⼀般是历史数据。
数据库设计是尽量避免冗余,⼀般针对某⼀业务应⽤进⾏设计,⽐如⼀张简单的User表,记录⽤户名、密码等简单数据即可,符合业务应⽤,但是不符合分析。数据仓库在设计是有意引⼊冗余,依照分析需求,分析维度、分析指标进⾏设计。
数据库是为捕获数据⽽设计,数据仓库是为分析数据⽽设计。以银⾏业务为例。数据库是事务系统的数据平台,客户在银⾏做的每笔交易都会写⼊数据库,被记录下来,这⾥,可以简单地理解为⽤数据库记账。
数据仓库,是在数据库已经⼤量存在的情况下,为了进⼀步挖掘数据资源、为了决策需要⽽产⽣的,它决不是所谓的“⼤型数据库”。
(4)数据仓库分层架构
按照数据流⼊流出的过程,数据仓库架构可分为三层——源数据、数据仓库、数据应⽤。
数据仓库的数据来源于不同的源数据,并提供多样的数据应⽤,数据⾃下⽽上流⼊数据仓库后向上层开放应⽤,⽽数据仓库只是中间集成化数据管理的⼀个平台。
源数据层(ODS): 操作性数据(Operational Data Store)
,是作为数据库到数据仓库的⼀种过渡,ODS的数据结构⼀般与数据来源保持⼀致,⽽且ODS的数据周期⼀般⽐较短。ODS的数据为后⼀步的数据处理做准备。
数据仓库层(DW):数据仓库(Data Warehouse),是数据的归宿,这⾥保持这所有的从ODS到来的数据,并长期报错,⽽且这些数据不会被修改,DW层的数据应该是⼀致的、准确的、⼲净的数据,即对源系统数据进⾏了清洗(去除了杂质)后的数据。
数据应⽤层(DA):数据应⽤(Dataapplication),为了特定的应⽤⽬的或应⽤范围,⽽从数据仓库中独⽴出来的⼀部分数据,也可称为部门数据或主题数据,该数据⾯向应⽤。如根据报表、专题分析需求⽽计算⽣成的数据。
5、数据仓库——ETL
ETL(Extract-Transform-Load):数据的抽取、数据的转换、数据的加载。将杂乱的数据转换为可以处理分析的数据。ETL是将业务系统的数据经过抽取、清洗、转换之后加载到数据仓库的过程,⽬的是将企业中分散、零乱、标准不统⼀的数据整合到⼀起。
ETL是数据仓库的流⽔线,也可以认为是数据仓库的⾎液,它维系着数据仓库中数据的新陈代谢,⽽数据仓库⽇常的管理和维护⼯作的⼤部分精⼒就是保持ETL的正常和稳定。
ETL流程:
可⽤于数据抽取的sql:
insert into table1 from select*from table2;
(1)可视化ETL平台——Kettle
Kettle(PDI)是⼀款国外开源ETL⼯具,Java编写,可在多平台运⾏,允许管理来⾃不同数据库的数据,并提供了⼀个图形化的⽤户环境。使⽤Kettle从众多数据库中抽取有⽤的数据放到数仓中。
(2)数据分析⼯具——Superset
Superset是⼀款开源的现代化企业级BI,是⼀款开源的数据分析可视化⼯具,⽀持多种数据源,图表类型多。⽤于对数仓中的数据进⾏分析及图形化显⽰。
基本步骤:
连接数仓
编写sql分析数据
图形化显⽰:
三、Hadoop——HDFS分布式存储系统
1、Hadoop简介
Hadoop是⼀个开源框架,它的核⼼组件有:
HDFS(分布式⽂件系统):解决海量数据存储
MAPREDUCE(分布式运算编程框架):解决海量数据计算
YARN(作业调度和集资源管理的框架):解决资源任务调度
⼴义上来说,Hadoop通常是指Hadoop⽣态圈:
重点框架:Kafka、Spark、Flink、Hive、Hbase、Zookeeper、Yarn、MapReduce、HDFS
版本:
1.x版本系列:hadoop的第⼆代开源版本,该版本基本已被淘汰
大数据etl工具有哪些
2.x版本系列:架构产⽣重⼤变化,引⼊了Yarn平台等许多新特性,是现在使⽤的主流版本。
3.x版本系列:该版本是最新版本,但是还不太稳定。
Hadoop发⾏版本分为开源社区版和商业版:
开源社区版:指由Apache软件基⾦会维护的版本,是官⽅维护的版本体系,版本丰富,兼容性稍差。
商业版:指由第三⽅商业公司在社区版Hadoop基础上进⾏了⼀些修改、整合以及各个服务组件兼容性测试⽽发⾏的版本,⽐较著名的有cloudera的CDH、TDH等
2、HDFS、Yarn、MapReduce

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。