1、BigData是什么?
大数据(Big Data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。大数据包括结构化、半结构化和非结构化数据,非结构化数据越来越成为数据的主要部分。
具体来说,比如电商网站的用户浏览行为记录、购买行为记录,社交网站的用户行为数据记录、用户关系数据,通信行业的用户通信行为记录、上网行为记录,APP应用的用户行为数据,交通部门的海量探测数据、路况监控数据,政府部门的民生数据,舆情数据等,由于用户基数大,因而形成的数据动辄日增数百T甚至P级别数据,这些都是真实、物化、具体的大数据。
IDC(International Data Corporation) 描述了大数据的四大特征,俗称4V(volumes、velocity、variety、value) ,4V也被广泛认可为大数据的最基本内涵。
2、什么是大数据技术?
大数据处理关键技术一般包括:大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘、大数据展现和应用(大数据检索、大数据可视化、大数据应用、大数据安全等)。
处理数据需要技术,而在处理规模不同的数据集时,就算处理需求一致,由于存储难度不同,计算难度不同,所使用的技术也妥妥不同。在进行大规模数据处理时,基本上都需要解决两个核心问题:数据存储和数据运算。
- 数据存储:由于大数据动辄好几百T,甚至上P级别,如果用一个单机文件系统或者一个单机数据库,都无法胜任。因此,在大数据技术体系中,一般都是采用分布式存储:将数据(文件)分散到一个集群上的N多台机器上存储。
- 数据运算:首先理解一下什么叫运算。比如,某大型电商网站有大量的用户浏览行为记录,这些数据分析需求,最终都需要转化成运算程序来实现。而在海量数据的场景下,单机资源(无论是CPU,还是内存)配置到极限,也无法在合理的限定时间内运算出结果,所以,在大数据技术体系下,数据运算主要通过运算资源(计算节点)的水平扩展来实现,即使用分布式集群运算系统。
3、hadoop是什么?
Hadoop是一个开源的框架,可编写和运行分不是应用处理大规模数据,是专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。Hadoop=HDFS(文件系统,数据存储技术相关)+ Mapreduce(数据处理),Hadoop的数据来源可以是任何形式,在处理半结构化和非结构化数据上与关系型数据库相比有更好的性能,具有更灵活的处理能力,不管任何数据形式最终会转化为key/value,key/value是基本数据单元。用函数式变成Mapreduce代替SQL,SQL是查询语句,而Mapreduce则是使用脚本和代码,而对于适用于关系型数据库,习惯SQL的Hadoop有开源工具hive代替。
Hadoop以分布式文件系统HDFS(Hadoop distributed file system)和Map Reduce分布式计算框架为核心,为用户提供了底层细节透明的分布式基础设施。
HDFS的高容错性、高伸缩性等优点,允许用户将Hadoop部署在廉价的硬件上,构建分布式文件存储系统。
Map Reduce分布式计算框架则允许用户在不了解分布式系统底层细节的情况下开发并行、分布式的应用程序,充分利用大规模的计算资源,解决传统高性能单机无法解决的大数据处理问题。
4、hadoop能做什么?
hadoop擅长日志分析,facebook就用Hive来进行日志分析,2009年时facebook就有非编程人员的30%的人使用HiveQL进行数据分析;淘宝搜索中的自定义筛选也使用的Hive;利用Pig还可以做高级的数据处理,包括Twitter、LinkedIn 上用于发现您可能认识的人,可以实现类似Amazon.com的协同过滤的推荐效果。淘宝的商品推荐也是!在Yahoo!的40%的Hadoop作业是用pig运行的,包括垃圾邮件的识别和过滤,还有用户特征建模。
- 大数据量存储:分布式存储
- 日志处理: Hadoop擅长这个
- 海量计算: 并行计算
- ETL:数据抽取到oracle、mysql、DB2、mongdb及主流数据库
- 使用HBase做数据分析: 用扩展性应对大量的写操作—Facebook构建了基于HBase的实时数据分析系统
- 机器学习: 比如Apache Mahout项目
- 搜索引擎:hadoop + lucene实现
- 数据挖掘:目前比较流行的广告推荐
- 大量地从文件中顺序读。HDFS对顺序读进行了优化,代价是对于随机的访问负载较高。
- 数据支持一次写入,多次读取。对于已经形成的数据的更新不支持。
- 数据不进行本地缓存(文件很大,且顺序读没有局部性)
- 任何一台服务器都有可能失效,需要通过大量的数据复制使得性能不会受到大的影响。
- 用户细分特征建模
- 个性化广告推荐
- 智能仪器推荐
5、hadoop实际应用
- Hadoop+HBase建立NoSQL分布式数据库应用
- Flume+Hadoop+Hive建立离线日志分析系统
- Flume+Logstash+Kafka+Spark Streaming进行实时日志处理分析
* - 酷狗音乐的大数据平台
- 京东的智能供应链预测系统
来源:51CTO
作者:破军少帅
链接:https://blog.51cto.com/mythwind/2479601