- 基于Hadoop与Spark的大数据开发实战
- 肖睿 丁科 吴刚山
- 1336字
- 2020-06-25 18:39:59
任务1 初识大数据
关键步骤如下。
了解大数据是什么。
了解大数据的特征。
了解大数据带给企业哪些方面的挑战。
1.1.1 大数据基本概念
1.大数据概述
相信大家经常会在各种场合听到“大数据”这个词,被誉为数据仓库之父的Bill Inmon早在20世纪90年代就将大数据挂在嘴边了。那么到底什么是大数据呢?这是我们在本章要了解的。
我们现在生活的时代是一个数据时代,近年来随着互联网的高速发展,每分每秒都在产生数据,那么产生的这些数据如何进行存储和相应的分析处理呢?各大公司纷纷研发和采用一批新技术来应对日益庞大的数据处理需求,主要包括分布式文件系统、分布式计算框架等,这些都是我们需要学习和掌握的。
《互联网周刊》对大数据的定义为:“大数据”的概念远不止大量的数据(TB)和处理大量数据的技术,或者所谓的“4个V”之类的简单概念,而是涵盖了人们在大规模数据的基础上可以做的事情,这些事情在小规模数据的基础上是无法实现的。换句话说,大数据让我们以一种前所未有的方式,通过对海量数据进行分析,来获得有巨大价值的产品和服务,或深刻的洞见,最终形成变革之力。
2.大数据特征
(1)数据量大(Volume)
随着网络技术的发展和普及,每时每刻都会产生大量的数据。在我们的日常生活中,比如说在电商网站购物、在直播平台看直播、在线阅读新闻等,都会产生很多的日志,汇在一起每分每秒产生的数据量将是非常巨大的。
(2)类型繁多(Variety)
大数据中最常见的类型是日志,除了日志之外常见的还有音频、视频、图片等。由于不同类型的数据没有明显的模式,呈现出多样性的特点,这对于数据的处理要求也会更高。
(3)价值密度低(Value)
现阶段每时每刻产生的数据量已经很大了,如何从大量的日志中提取出我们需要的、对我们有价值的信息才是最重要的。数据量越来越大,里面必然会存在着大量与我们所需不相干的信息,如何更迅速地完成数据的价值提炼,是大数据时代有待解决的问题。
(4)处理速度快(Velocity)
传统的离线处理的时效性不高,换句话说时延是非常高的。随着时代的发展,对时效性的要求越来越高,需要实时对产生的数据进行分析处理,而不是采用原来的批处理方式。
1.1.2 大数据带来的挑战
1.对现有数据库的挑战
随着互联网时代的到来,现在产生的数据如果想存储在传统数据库里是不太现实的,即便传统的数据库有集群的概念,仍然不能处理TB量级的数据。而且现阶段产生的数据类型很多,有些类型的数据是没办法使用结构化数据查询语言(SQL)来处理的。
2.实时性的技术挑战
我们知道数据产生的价值会随着时间的流逝而大大降低,所以当数据产生后我们要尽可能快地进行处理。最典型的就是电商网站的推荐系统,早些年的推荐系统都是基于批处理来进行的,比如每隔半天或者一天进行计算然后再进行推荐,这样就会有很大的延时,对于订单的转换而言虽然有效果但不是很好。如果能做到实时推荐,那么肯定能大大提高公司的营业收入。
传统的离线批处理对处理时间的要求并不高。而实时处理的要求是区别大数据应用和传统数据库技术或者离线技术的关键差别之一。
3.对数据中心、运维团队的挑战
如今每天产生的数据量正呈爆炸式增长,那么如此多的数据该怎样进行高效的收集、存储、计算都是数据中心要面临的一个非常棘手的问题。而处理快速增长的数据量所需要的机器也日益增多,那么对于运维团队来说压力也会增加。