大家好,又见面了,我是你们的朋友全栈君。
大数据采集
01
—
概览
02
—
相关延展
系统日志数据的采集
Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用。它够从各种日志源上收集日志,存储到一个中央存储系统上,以便于进行集中的统计分析处理。 Scribe为日志的“分布式收集,统一处理”提供了一个可扩展的、高容错的方案。(老师收学生信息表,需要班长代理收集的例子)。
Chukwa提供了一个对大数据量日志类数据采集、存储、分析和展示的全套解决方案和框架,可以用于监控大规模Hadoop 集群的整体运行情况并对它们的日志进行分析(相当于学校内无死角的监控摄像头)。
注:以上两张架构图现在不太理解,当学完第四章再回过头来看,就easy多了。
对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:199427210,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系 。
大数据的未来前景可期,入行的人也非常的多,而如何快速的完成转型,如何快速的进入大数据领域,就需要转型者、小白去进行深刻的思考。
大数据预处理
数据清理通过填写缺失值,光滑噪声数据,识别或删除离群点并解决不一致性来“清理”数据。数据清理的过程主要包括数据预处理、确定清理方法、检验清理方法、执行清理工具和数据归档。同时每个阶段可以再分若干个任务。
数据集成是将来自多个数据源的数据集集成到一起,但集成后的不可避免的会出现数据冗余,原因主要有:代表同一概念的属性在不同数据库中可能具有不同的名字;有些属性可能由于其他属性导出的。数据集成后可以再次进行数据清理、检测和删去由数据集带来的冗余。
数据归约的目的是得到数据集的简化表示。虽然数据集的简化表示比原数据集的规模小得多,但仍然能够产生几乎同样的分析结果。
数据变换是使用规范化、数据离散化和概念分层等方法使得数据的玩具可以在多个抽象层上进行。数据变换操作是引导数据挖掘过程成功的附加预处理过程。
大数据分析
01
—
概览数据分析
数据分析是大数据价值链中最终和最重要的阶段,其目的是挖掘数据中潜在的价值以提供相应的建议或决策。
数据分析( Data Analysis)是一个检查、清理、转换和建模数据的过程,目的是发现有用的信息,得出结论和推动决策制定。
数据挖掘(Data mining)是指用人工智能、机器学习、统计学和数据库的交叉方法在相对较大型的数据集中发现模式的计算过程。
数据分析流程(下图)(两句话,①数据分析是从业务中来,到业务中去;②脱离了业务的数据分析都是耍流氓)。
02
—
传统数据分析方法
比较有代表性的传统数据分析方法:
统计分析,相关分析,回归分析,聚类分析,因子分析,A / B测试;
①统计分析
②相关分析:一种用于确定观测现象之间的相关规律,从而进行预测和控制的分析方法。相关分析是利用现有统计数据研究关系的强度的过程(例子是身高与年龄)。同时,相关不等于因果(睡眠与收入)。
③回归分析:揭示一个变量和其他几个变量之间的相关性的数学工具。
回归分析能够识别随机隐藏的变量之间的依赖关系(一元线性回归)。
④聚类分析:一种将对象进行分组的统计方法。聚类分析用于区分具有某些特征的对象,并根据这些特征将它们分成不同的类别。同一类别中的对象具有高同质性,不同类别中的对象具有高异质性。
⑤因子分析:主要是通过少数几个因子,来描述大量指标或元素之间的关系(例子是找对象,以自己中意的几个典型的维度对另一半进行刻画。如白富美,地域,教养,品行,性格等等)。
⑥A/B测试,也称为水桶测试。它通过比较测试组,制定能改善目标变量的计划(更多地应用在产品或网页的设计中,根据用户体验与反馈对产品进行完善)。
03
—
大数据分析方法
这部分更多地是对大数据存储效率,以及读取速度进行优化的大数据分析方法。
①布隆过滤器:由一个位数组和一系列的哈希函数组成。布隆过滤器的原理是通过利用位数组来存储数据本身之外的数据的哈希值。位数组本质上是使用哈希函数来进行数据的有损压缩,从而存储其位图索引。布隆过滤器算法的核心思想:利用多个不同的哈希函数来解决“冲突”。(例子是班级同学进行一间屋子,门口会有一排灯,某几个灯亮表示一个同学,为了避免冲突,灯亮以颜色进行区分。灯亮表示1,不亮表示0)。
②散列法:一种将数据变换为较短的固定长度数值或索引值的基本方法。特点:快速读取、快速写入和高查询速度。难点:如何找到健全的散列函数。 优点:空间效率高、查询速度快。缺点:具有一定的误识别率、删除困难等。例子是谍战片里面传递情报场景,最重要的是找到密码本(散列法的难点)。
③索引法:是减少磁盘读取和写入成本的有效方法。索引法能够提高插入、删除、修改和查询速度。索引一般分为两类:聚集索引和非聚集索引。例子是索引类似于书籍的目录。
④字典树:又称单词查找树,是一种哈希树的变体。它主要应用于快速检索和字频统计。主要思想是:利用字符串的常见前缀来最大限度地减少字符串的比较,从而提高查询效率。
⑤并行计算:并行计算是指利用若干计算资源来完成计算任务。其基本思想是:分解一个问题并将其分配给几个独立的进程,以便独立完成,从而实现协同处理。
04
—
大数据分析架构
大数据分析可以根据实时要求分为实时分析(金融领域:超市付款,哈罗单车)和离线分析(淘宝商品推荐)。
大数据分析按照层次的不同,还可以分为内存级分析、BI分析(数据层、业务层和应用层)和海量分析(数据采集模块、数据冗余模块、维度定义模块、并行分析模块)。
05
—
大数据分析应用工具(略)
课上通过R语言的展示,旨在让同学们对大数据分析的功能有个直观认识。
大数据存储
从本章开始,涉及的大数据名词越来越多,开始大家觉得晦涩难懂,随着课程的推进,一些技术及名词会慢慢熟悉,希望大家耐着性子学习。坚持下来,不要让东哥唱独角戏哈!
01
—
概览
02
—
云存储
云存储没有行业权威的定义。云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是一种新兴的网络存储技术,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。云存储不仅是存储设备或技术,更是一种服务的创新。
特点:可靠性、可用性、安全性、规范化、低成本。
架构(动物园):访问层、应用接口层、基础管理层。
技术:存储虚拟化(齐天大圣)、分布式存储、数据缩减、负载均衡。
①云存储的虚拟化将存储资源虚拟化为全局命名空间(动物园的名字),并通过多租户技术(跟着旅行社的导游参观动物园)给使用者提供存储资源。
②分布式存储分为分布式块存储,分布式对象存储以及分布式文件系统。
③数据缩减一定程度上节约企业存储成本,提高效率。包括自动精简配置(欺骗),自动存储分层(超市摆放物品),重复数据删除(自己产生的数据)。
④负载均衡技术,节点的负载均衡能够更好的实现系统的动态扩展,即若系统收到的请求均匀分配给每个节点后超出节点的处理能力,只需通过扩充节点的数目就可以减少系统所有节点的压力,而无需对内部的负载均衡机制做任何处理。(4×1接力比赛,体育委员根据每个人的速度,耐力分配接力顺序)。
03
—
大数据存储
大数据存储系统架构分为DAS,NAS以及SAN。
DAS
适用环境:①服务器地理分布很分散,通过SAN或NAS互联困难。②存储系统必须直接与应用服务器连接。③小型网络。
缺点:①扩展性差。②资源利用率低。③可管理性差。DAS的数据分散在应用服务器各自的存储设备上,不变集中管理、分析和使用数据。④异构化严重。
NAS
优点:①即插即用,可以基于已有的企业网络方便连接到应用服务器。②专用操作系统支持不同的文件系统,从而可以支持应用服务器不同操作系统之间的文件共享。③专用服务器上经过优化的文件系统提高了文件的访问效率。④独立于应用服务器,即使应用服务器故障或停止工作,仍然可以读出数据。
缺点:①共用网络的模式使网络带宽成为存储性能瓶颈。②NAS访问要经过文件系统格式转换,故只能以文件一级访问,不适合块级的应用。
SAN
04
—
数据仓库
从决策支持角度来看,数据仓库可以简单定义为:专为决策支持服务的数据库系统 ,它并非对原有业务系统的取代,而是在所有业务系统之上建立一个统一的、一致的企业级数据视图。
特点:数据仓库的的数据是面向主题组织的;数据仓库中的数据是继承的。数据仓库的数据是稳定的。数据是随时间不断变化的。
数据仓库与数据库的区别
在物理实现上,数据仓库与传统意义上的数据库并无本质的区别,主要是以关系表的形式实现的。更多的时候,我们将数据仓库作为一个数据库应用系统来看待。
数据仓库体系架构:数据仓库从多个信息源中获取原始数据,经过整理加工后存储在数据仓库的内部数据库。通过数据仓库访问工具,向数据仓库的用户提供统一、协调和集成的信息环境,支持企业全局决策过程和对企业经营管理的深入综合分析。整个数据仓库系统是一个包含4个层次的体系机构。
对于小白学习大数据需要注意的点有很多,但无论如何,既然你选择了进入大数据行业,那么便只顾风雨兼程。正所谓不忘初心、方得始终,学习大数据你最需要的还是一颗持之以恒的心。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/135942.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...