关于大数据的完整讲解
↑↑↑关注后"星标"Datawhale
每日干货 & 每月组队学习,不错过
Datawhale干货
作者:牧小熊,华中农业大学,Datawhale原创作者
1.什么是大数据
1.1 大数据特征
我们引用了大数据的4V特征
Volume 大数据数据量大,数据量单位为T 或者P级
Variety 数据类型多,大数据包含多种数据维度 比如 日志、视频、图片
Value 价值密度低,商业价值高 比如监控视频,其中关键1-2秒可能具有极高的价值
Velocity 要求处理速度块
1.2 大数据的4个关键技术
1.3 ETL/ELT的区别
ETL 包含的过程是 Extract、Transform、Load的缩写
包括了数据抽取 => 转换 => 加载三个过程
在数据源抽取后首先进行转换,然后将转换的结果写入目的地
ETL 包含的过程是 Extract、Load、Transform的缩写
ELT的过程是,在抽取后将结果先写入目的地,然后利用数据库的聚合分析能力或者外部计算框架,如Spark来完成转换
目前数据主流框架是ETL,重抽取和加载,轻转换,搭建的数据平台属于轻量级
ELT架构,在提取完成之后,数据加载会立即开始,更省时,数据变换这个过程根据后续使用需求在 SQL 中进行,而不是在加载阶段
ELT框架的优点就是保留了原始数据,能够将原始数据展现给数据分析人员
ETL相关软件:
商业软件:Informatica PowerCenter、IBM InfoSphere DataStage、Oracle Data Integrator、Microsoft SQL Server Integration Services等
开源软件:Kettle、DataX、Sqoop
1.4 大数据与数据库管理系统
DataBase Management System,数据库管理系统,可以管理多个数据库
目前关系型数据库在DBMS中占据主流地位,常用的关系型数据库有Oracle、MySQL和SQL Server
其中SQL就是关系型数据库的查询语言
SQL是与数据直接打交道的语言,是与前端、后端语言进行交互的“中台”语言
SQL语言特点:
价值大,技术、产品、运营人员都要掌握SQL,使用无处不在
很少变化,SQL语言从诞生到现在,语法很少变化
入门并不难,很多人都会写SQL语句,但是效率差别很大
除了关系型数据库还有文档型数据库MongoDB、键值型数据库Redis、列存储数据库Cassandra等
提到大数据就不得不说Hive
Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。
Hive与关联型数据库RDBMS相比
不足:
不能像 RDBMS 一般实时响应,Hive 查询延时大
不能像 RDBMS 做事务型查询,Hive 没有事务机制
不能像 RDBMS 做行级别的变更操作(包括插入、更新、删除)
优点:
Hive 没有定长的 varchar 这种类型,字符串都是 string
Hive 是读时模式,保存表数据时不会对数据进行校验,而在读数据时将校验不符合格式的数据设置为NULL
1.5 OLTP/OLAP
在数据仓库架构中有非常相关的2个概念,一个是OLTP,一个是OLAP
OLTP( On-Line Transaction Processing )
联机事务处理,主要是对数据的增删改
记录业务发生,比如购买行为,发生后,要记录是谁在什么时候做了什么事,数据会以增删改的方式在数据库中进行数据的更新处理操作
实时性高、稳定性强,ATM,ERP,CRM,OA等都属于OLTP
OLAP( On-Line Analytical Processing )
联机分析处理,主要是对数据的分析查询
当数据积累到一定的程度,需要做总结分析,BI报表=> OLAP
OLTP产生的数据通常在不同的业务系统中
OLAP需要将不同的数据源 => 数据集成 => 数据清洗 => 数据仓库,然后由数据仓库统一提供OLAP分析
2.大数据计算
2.1 大数据计算模式
大数据计算模式 | 解决问题 | 代表产品 |
---|---|---|
批处理计算 | 针对大规模数据的批量处理 | MapReduce、Spark等 |
流计算 | 针对流数据的实时计算 | Storm、S4、Flume、Streams、Puma、DStream、Super Mario、银河流数据处理平台 |
图计算 | 针对大规模图结构数据的处理 | Pregel、GraphX、Giraph、PowerGraph、Hama、GoldenOrb等 |
查询分析计算 | 大规模数据的存储管理和查询分析 | Dremel、Hive、Cassandra、Impala等 |
2.2 Lambda大数据框架
Lambda架构:
Batch Layer(批处理层),对离线的历史数据进行预计算,能让下游进行快速查询。因为基于完整的数据集,准确性能得到保证。可以用Hadoop、Spark 和 Flink 等计算框架
Speed Layer(加速处理层),处理实时的增量数据,加速层的数据不如批处理层完整和准确,但重点在于低延迟。可以用 Spark streaming、Storm 和 Flink 等计框架算
Serving Layer(合并层),将历史数据计算与实时数据计算合并,输出到数据库,供下游分析
2.3 大数据典型技术
Hadoop
一个文件系统,外加一个离线处理框架MapReduce,由于提供的上层api不太友好,加上MapReduce 处理框架比较慢,基本上都用作文件系统
Spark
本身是一个执行引擎,不保存数据,所以需要外部的文件系统(通常会基于hadoop)提出了内存计算的概念,即尽可能把数据放到内存中,还提供了良好的上层使用接口,包括spl语句(spark sql)处理数据十分方便。相比 Hadoop MapReduce 获得了百倍的性能提升,基本上用它来做离线数据处理
Flink
分布式实时计算框架,具有超高的性能,支持Flink流式计算与Storm性能差不多,支持毫秒级计算
Spark 和 Flink的区别
3.大数据实践
本文主要讲解了大数据的概念和基础知识,帮助读者对大数据有一个基本了解。如果对实践有学习需要(可以留言),我再花时间整理大数据的实践讲解:Pyspark进行Titanic乘客生存预测。使用pyspark进行初步的大数据操作,数据选取Kaggle泰坦尼克号项目的数据,通过Spark读取数据,并利用Spark中的ML工具对数据进行构建模型。
“整理不易,点赞三连↓
关于大数据的完整讲解相关推荐
- 大数据的完整解决方案和体系化
大数据的完整解决方案和体系化 [日期:2014-11-25] 来源:人月神话的新浪博客 作者:人月神话 [字体:大 中 小] 对于大数据,后面会作为一个系列来谈,大数据涉及的方面特别多,包括主数据, ...
- spark python教程_Python Spark 2.0 Hadoop机器学习与大数据实战 完整pdf_IT教程网
资源名称:Python Spark 2.0 Hadoop机器学习与大数据实战 完整pdf 第1章 Python Spark机器学习与Hadoop大数据 1 第2章 VirtualBox虚拟机软件的安装 ...
- 一文看懂大数据生态圈完整知识体系【大数据技术及架构图解实战派】
一文看懂大数据生态圈完整知识体系 徐葳 随着大数据行业的发展,大数据生态圈中相关的技术也在一直迭代进步,作者有幸亲身经历了国内大数据行业从零到一的发展历程,通过本文希望能够帮助大家快速构建大数据生态圈 ...
- 零基础学习大数据:零基础学习大数据最完整的学习路线
最近很多人都想学习大数据开发,但是却不知道如何开始学习,今天软妹子专门整理了一份针对大数据初学者的大数据开发学习路线.大数据学习资料分析群119599574 下面分十个章节来说明大数据开发要学习的内容 ...
- 大数据Hive深入讲解
大数据 Hive简介,Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据. Hive组件 Hive安装 编辑hive-site.xml cp conf/hive-default.xml. ...
- 大数据如何完整的进行数据探察
内容目录 如何进行数据探察 一.数据探察内容 1. 模型信息: 2. 字段分类: 3. 字段名: 4. 字段类型: 5. 字段含义: 6. 字段数值: 7. 取值说明: 8. 数据量: 9. 去重后的 ...
- 通向大数据的巴别塔:这个完整详细的套路是否适合你?
"天地玄黄,宇宙洪荒",在二十世纪末开始进入信息化时代,人类慢慢地从线下的面对面交流转移到了线上进行简单的Email信息交互,这是Web1.0信息互联网,在MSN.QQ等PC端软件 ...
- 基于hadoop和echarts的教育大数据可视化系统 毕设完整的代码+数据集
一.摘 要 在线教育平台现在是教育体系的重要组成部分,在当前大数据时代的背景下,促进教育机构建立统一平台.统一资源管理的数字化教学系统.如何评估系统平台的健康程度.学生的学习体验和在线课程的质量对于课 ...
- 搭建高校AI大数据实训室,2019高校大数据科研教学整体解决方案,数道云
伴随着互联网技术的迅猛发展,正在逐步改变传统的高校教育模式,以大数据.云计算.AI等等技术为核心的教育模式正在逐步发展. 高校实行AI大数据实训室有何实质性的效果呢? 大数据的出现催生出产业人才缺口瓶 ...
最新文章
- WCF布署问题 :HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。...
- CTFshow php特性 web147
- Vue之旅-Vue环境搭建
- MySQL查看数据库系统正在运行的进程
- 如何学习一个新的PHP框架
- 登录验证和EasyUI的初识
- MySQL(2)----DDL语句之增、删、改、查操作
- python爬虫微信公众号文章_Python爬虫案例:爬取微信公众号文章
- 大规模分布式系统架构与设计实战
- PTA离散数学集合论自测(无答案版)
- 数据结构学习笔记——栈(1)定义理解
- 阿里企业邮箱服务器配置
- 【Nessus安装、使用】
- iphone 3.1.2开发环境搭建——linux平台
- 不装wine,你的.NET程序照样可以在Linux上运行!
- 程序员为何痴迷深夜写代码?
- 搭建git私有化仓库
- Excel连接openGauss数据库实操
- Windows Media Player 无损翻录简易教程
- SQL Server 数据分组