大数据的定义:一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。
从狭义上讲,大数据主要是指大数据技术及其在各个领域中的应用。数据规模非常大,大到无法在一定时间内用一般性的常规软件工具对其内容进行抓取、管理和处理的数据集合;大数据对海量数据的获取、存储、管理、计算分析、挖掘与应用的全新技术体系。
以IDC为代表的业界则认为大数据具备4V特点。
大家公认的是大数据具有四个基本特征:
数据规模大,数据种类多,处理速度快以及数据价值密度低,即4V。
数据获取
网络爬虫
网络爬虫(又称为网络蜘蛛、网络机器人,在FOAF社区中更经常称为网页追逐着)是按照一定的规则自动抓取万维网信息的程序或脚本。
网络爬虫是一个功能很强的自动提取网页的程序,它为搜索引擎从万维网上下载网页。
整个搜索引擎系统主要包四个模块,分别为信息搜索模块、信息索引模块、信息检索模块和用户接口部分,而网络爬虫便是信息搜索模块的核心。
系统架构
在网络爬虫的系统框架中,主过程由控制器、解析器、资源库三部分组成。
控制器的主要工作是负责给多线程的各个爬虫线程分配工作任务;
解析器的主要工作是下载网页,进行网页的处理,JavaScript脚本标签、CSS代码内容、空格字符、HTML标签等内容处理掉;
资源库用来存放下载到到网页资源,如Oracle数据库。
抓取对象
静态网页
动态网页
特殊内容
文件对象
抓取策略
深度优先策略
深度优先策略是在开发爬虫早期使用较多的方法,它的目的是要达到被搜索结构的叶节点(即那些不包括任何超链接HTML文件)。
深度优先搜索沿着HTML文件上的超链接走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链接。
当不再其他超链接可选择时,说明搜索已经结束。
这种策略的优点是能遍历一个Web站点或深层嵌套的文档集合。缺点是因为Web结构相当深,有可能造成一旦进去再也出不来的情况发生,
广度优先策略
因为这个方法可以让爬虫网络爬虫并行处理,提高其抓取速度,广度优先搜索策略通常是实现爬虫的最佳策略。
RSS简易信息聚合
RSS能实现以下功能:
订阅BLOG
订阅新闻
订阅杂志文章
订阅最新搜索结果
快速、高效地浏览
第三方
第三方指两个相互联系的主体之处的某个客体。
数据挖掘
概述
技术:数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中提取隐含在其中的、人们事先不知道的,但又是潜在有用的信息和知识的过程。这一定义包括几层含义:数据源必须是真实的、海量的、含噪声的;发现的用户感兴趣的知识;发现的知识要可接受、可理解、可运用;并不要求发现放之四海皆准的知识,仅支持特定的发现问题。
数据挖掘其实是一类深层次的数据分析方法。
数据挖掘可以描述为:按企业既定业务目标,对大量的企业数据进行探索和分析,揭示隐藏的、未知的或验证已知的规律性,并进一步将其模型化的有效方法。
数据挖掘是交叉学科,涉及数据库系统、数据仓库、统计学、机器学习、可视化、信息检索和高性能计算等诸多领域。
数据挖掘还与神经网络、模式识别、空间数据分析、图像处理、信号处理、概率论、图论和归纳逻辑的领域关系密切。
数据挖掘与传统数据分析方法主要有以下两点区别:首先,数据挖掘的数据源与以前相比有了显著的改变,包括数据是海量的,数据有噪声,数据可以是非结构化的。其次,传统的数据分析方法一般都是先给出一个假设,然后通过数据验证,在一定意义上是假设驱动的;与之相反,数据挖掘在一定意义上是发现驱动的,模式都是通过大量的搜索工作从数据中自动提取出来的。即数据挖掘是要现那些不能靠直接发现的信息或知识,甚至是违背直觉的信息或知识,挖掘出的信息越是出乎意料,就可能越有价值。
现状与未来
数据挖掘本质上是一种深层次的数据分析方法。数据挖掘的研究重点逐渐从发现方法转向系统运用,注重多种发现策略和技术的集成以及多学科之间的相互渗透。
数据分析
概述
使用数据,让数据显示出它本身的威力,总结下来有以下几个方面:看历史数据,发现规律;从历史数据和现有数据中发现端倪,找出问题所在;数据预测;学会拆解数据。要会对数据进行拆分,知道每个数据都是来自哪些方面,增高或降低的趋势是什么。
数据分析流程
明确分析目标与框架 明确分析目的与进行数据分析的先决条件,为数据分析提供了方向。 一个分析项目,数据对象是什么?商业目的是什么?要解决什么业务问题?对这些问题都要了然于心。 要基于对商业的理解,整理分析框架分析思路,例如减少新客户的流失、优化活动效果、提高客户响应率等。不同的项目对数据的要求以及使用分析手段都是不一样的。
数据收集
数据收集是通过数据库和其他媒介按照确定的数据分析和框架内容,有目的地收集、整合相关数据的过程,它是数据分析的基础。
数据处理
数据处理是指对收集到的数据进行加工、处理,以便开展数据分析,它是数据分析前必不可少的阶段。这个过程是数据分析整个过程中最占据时间的,也在一定程度上取决于数据仓库的搭建和数据质量的保障。
数据处理包括主要包括数据清洗、数据转化、提取、计算等处理方法。
数据分析 数据分析是指通过分析手段、方法和技巧对准备好的数据进行探索、分析,从中发现因果关系,内部联系和业务规律,为商业的目的提供决策参考。
数据展现
一般情况下,数据分析的结果都是通过图表、表格、文字的方式来呈现。
借助数据展现手段,能更直接地表述想要呈现的信息、观点和建议。常用的图表包括饼图、折线图、柱形图/条形图、散点图、雷达图、金字塔图、矩阵图、漏斗图、帕累托图等
撰写报告 最后一个阶段就是撰写数据分析报告,这是对整个数据分析成果的一个呈现。通过分析报告,把数据分析的目的、过程、结果及方案完整的呈现出来。
数据分析方法 常用数据分析方法有以下几种:聚类分析、因子分析、相关分析、对应分析、回归分析、分差分析。
数据分常用的图表表示方法有以下几种:柏拉图,直方图,散点图,鱼骨图,FMEA。
数据分析工具:常用的数据分析工具有MATLAB、SPSS、SAS、Excel、R等。
Hadoop 简介
Had oop是由Apache基金会开发的分布式系统基础架构。Hadoop实现了一个分布式文件系统(HDFS)。HDFS有高容错性 ,并且设计用来部署在低廉的硬件上;而且它提供高吞吐量来访问应用程序的数据,适合那些有超大数据集的应用程序而去。HDFS放宽了POSIX的要求,可以以流的形式访问文件系统中的数据。Hadoop框架最核心的设计是HDFS和MaReduce 。HDFS为海量的数据提供了存储功能,而MapReduce为海量的数据提供了计算功能。Hadoop目前主要应用于互联网企业,用于数据分析、机器学习、数据挖掘等。
Hadoop使用主/从架构。在主节点的服务器中会执行两套程序:一个是负责安排MapReduce运算层任务的JobTracker,另一个是负责管理HDFS数据层的NameNode程序。
分布式离线计算框架MapReduce
概念
Map和Reduce是编程语言中的概念,都是处理数据集合函数。两者的不同主要有两点:第一,Map在处理数据序列的过程中处理当前的数据信息,不需要与之前处理的状态信息交互,而Redure处理过程中却依赖之前处理的结果,同时生成的结果也被后续的处理使用。第二,Map只是遍历数据,数据处理无关先后;Reduce是在遍历的过程中生成聚合信息。