教程地址:http://www.showmeai.tech/tutorials/84
本文地址:http://www.showmeai.tech/article-detail/167
声明:版权所有,转载请联系平台与作者并注明出处
随着互联网高速发展,网络数据呈现出指数级别的快速增长,企业应用需要处理的数据量也变得非常巨大,轻松达到了TB、PB甚至EB、ZB级别,需要巨型存储空间进行存储。而对这些数据进行处理和分析挖掘,仅仅使用单机处理已经无法完成,这个大背景下,针对海量数据处理的大数据解决方案应运而生。ShowMeAI将在接下来的内容中逐步展开讲解大数据生态工具的应用,以及大数据的处理分析挖掘方法。
以下几点,更详细地介绍了大数据技术的相关历史和背景。
根据IBM前首席执行官郭士纳的观点,IT领域每隔十五年就会迎来一次重大变革。
移动互联网时代,产生大量的数据。
硬件存储价格随科技发展逐年不断下降。
大数据的兴起也跟数据产生方式的变化有关,数据产生方式的变革促成大数据时代的来临。
下面我们来看看大数据的发展历史。
大数据不仅是数据的“大量化”,而且包含“快速化”“多样化”“价值化”等多重属性。
大数据摩尔定律:数据一直都在以每年50%的速度增长,即每两年就增长一倍(IDC)人类在最近两年产生的数据量相当于之前产生的全部数据量。预计到2020年,全球将总共拥有35ZB的数据量,相较于2009年,数据量将增长近44倍。
大数据需要很快的处理速度:从数据的生成到消耗,时间窗口非常小,可用于生成决策的时间非常少。1秒定律(秒级定律):这一点和传统的数据挖掘技术有着本质的不同。
大数据数据形态丰富:大数据由结构化数据和非结构化数据组成。
伴随着大数据的发展,层出不穷的大数据工具开始诞生和发展,并形成一个大数据生态,下面罗列了一些大数据生态发展史中的典型项目工具,它们也是我们当前处理大数据的主流工具平台。
大数据的兴起与高速发展,给我们也带来了很大的影响。
大数据无处不在,包括金融、汽车、零售、餐饮、电信、能源、政务、医疗、体育、娱乐等在内的社会各行各业都已经融入了大数据的印迹。
下面我们一起来看看大数据在不同行业领域的典型应用场景案例。
电商 - 预测用户行为:用户行为信息就是用户在网站上发生的所有行为。
娱乐 - 定制影视节目:大数据在影视作品的制作、发行、放映环节都发挥着重要作用。
医疗 - 预测疾病趋势:从谷歌流感趋势(Google Flu Trends, GFT)是看大数据的应用价值。
交通 - 优化城市交通:目前公共领域率先使用大数据技术的主要是交通行业。
环境 - 预警环境污染:为环境保护部门提供强力的数据支撑。
政务 - 智慧城市建设:通过大数据建立起信息集群中心,为城市管理业务提供数据支持。
下面我们来了解一下大数据生态系统架构,以及应用大数据技能,完整的大数据工具技能图谱。如下两图所示~
大数据生态工具应用的主流编程语言是Scala、Java,随着AI生态的快速发展,其最常用语言python也被大数据生态工具很好地支持了。目前,在大数据处理场景下,使用Scala、Java或者python进行实现,并不会有特别大的效率差异。
Flume,Apache下的一个顶级开源项目,一个分布式、可靠的数据收集组件。能够高效的收集,整合数据,还可以将来自不同源的大量数据汇聚到数据中心存储落地。
目前常用于企业内收集整合日志数据,但由于其数据源的可自定义特性,还可用于传输结构化数据(oracle, mysql等),也常被用于流式数据的采集输入工具。
相关学习链接:
HDFS(Hadoop Distributed File System),全称Hadoop分布式文件系统。Hadoop生态体系的存储底层,用于存储管理大批量文件数据。其自带的容错机制,高度的可拓展性,让其成为现今最适用的开源分布式存储底层系统。
特性:
关于HDFS的更多知识也可以查看ShowMeAI的后续教程了解。
相关学习链接:
Hive是构建于HDFS上的一套分布式结构化数据存储系统,可以狭义的理解为一个开源的分布式数据库,通过SQL语言进行操作,可以较为遍历的处理超大规模下结构化数据的处理分析工作。
特性:
相关学习链接:
HBase是构建于HDFS上的一套分布式非结构化数据存储系统,类似于Redis之类的Key-Value数据库,可以通过key进行大规模数据的快速索引查询。目前常用于在大规模数据中快速查询某些信息记录,例如从几亿用户信息中快速查询某个用户信息。
特性:
关于HBase的更多知识也可以查看ShowMeAI的后续教程了解。
相关学习链接:
Spark是第二代分布式处理框架,其核心思想与MapReduce类似,并在其基础上对于处理Pipeline进行了优化,包括引入DAG,依赖划分等机制。同时,通过针对对于数据缓存的使用,完成整体计算性能的大幅度提升,成为目前主流的分布式处理框架组件。
特性:
关于Spark的详细教程和综合应用也可以查看ShowMeAI的后续内容了解。
相关学习链接:
Storm是目前使用最多的实时流式数据处理框架,其核心思想主要是对每一个流入的数据都分配一个线程进行处理,Storm框架完成所有数据,线程的调度处理,让开发者可以专注开发基于流式数据的业务性功能开发。
特性:
相关学习链接:
Apache Flink是一个用于分布式流和批处理数据处理的开源平台。Flink的核心是流数据流引擎,为数据流上的分布式计算提供数据分发、通信和容错。Flink在流引擎之上构建批处理,覆盖本机迭代支持,托管内存和程序优化。Flink核心思想与SparkStreaming类似,针对数据集的微批处理框架,在相对不高的延迟下(秒级)完成批量数据的近实时处理。
特性:
相关学习链接:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。