本文主要内容摘记自电子工业出版社出版的《写给大忙人的Hadoop2》,Douglas Eadline著,卢涛 李颖译。如想深入了解相关内容,请购买正版书籍阅读。


一、大数据的定义

大数据不只是数据量大的意思,根据维基百科(http://en.wikipedia.org/wiki/Big_data),大数据的定义有以下几个特点。

1、数据量(Volume):大的数据量明确界定了大叔与。在某些情况下,数据的庞大规模使其不可能用更为常规的手段来计算。

2、多样性(Variety):数据可能来自不同的来源,并且不一定与其他数据源“关联”。

3、高速度(Velocity):数据的生成和处理速度非常快。

4、可变性(Variability):数据可能是高度易变、不完整和不一致的。

5、复杂性(Complexity):数据源之间的关系不可能完全清楚,并且不遵从传统的关系型方法。在实际工作中可能会听到“结构化数据”、“半结构化数据”、“非结构化数据”的概念,说的就是存储的数据模型的复杂性和多样性。


以下是一些可能被认为是“大数据”的实例:

1、媒体数据,包括视频、音频和照片(比如城市监控视频数据)。

2、已完成的文件、刊物和数据。

3、web数据,包括系统日志/web日志,点击追踪文件和文本消息/电子邮件。(大数据在此场景的应用最为常见)

4、科学研究数据,包括模拟结果和人类基因数据。

5、股票交易、客户数据和零售购买。(在电子商务中应用最为成熟,通过记录客户行为,分析用户习惯,向用户推荐相关产品)

6、电信数据,包括电话记录。(比如通话记录,以前运营商是周期性的进行数据离线存档,应用大数据平台后,所有数据在线,用户可以查询更久的记录)

7、公共记录,包括省、市和地×××府的资源。

8、物联网(数据来自所有连接的设备),实时传感数据,包括交工或运输物流。


随着联机存储数据增多,数据的清单将继续增长,甚至某些场景下的数据时飞速增长。数据可能是私有或公有的。


二、Hadoop作为数据湖

在研究Hadoop如何处理大数据之前,必须先了解现代数据存储系统如何运作。它具有大数据的功能之一,是用于所有数据的中央存储库。一些数据可能不适于存储在关系型数据库中,大部分数据将需要按照原始形式存储。这一特性往往是Hadoop数据处理与更传统的方法的区别所在。这个想法通常被称为“数据湖”,是为所有的原始数据创建一个巨大的存储仓库,并根据需要使用它。

向传统的关系型数据库或数据仓库添加数据的前提是先把数据转变成一个可以加载到数据库的预定的模式。此步骤通常被称为提取、转换和加载(ETL),在可以使用数据之前会消耗时间和成本。关于数据时如何使用的决定必须在ETL步骤中间做出。此外,一些数据经常在ETL步骤中被丢弃,以为它不能放入数据模式或被认为不需要。

Hadoop的重点是按照其原始格式使用数据。本质上,当数据有Hadoop应用程序访问时,看起来就像执行ETL步骤。这种方法,称为读时模式(schema on read),在访问数据的时候按自己的需求来构造结构。传统的数据仓库方法,称为写时模式(schema on write),在存储时需要根据最终使用数据的方式进行设计。

数据湖的三个优势:

1、全部数据都保持可用。无需对以后数据的使用作出任何假设。

2、全部数据都是共享的。不同单位或个人都可以使用所有可用数据,以前由于数据分布在完全不同的系统上,是不可用的。

3、全部访问方法都是可用的。任何处理引擎都可以用来检查数据(例如MapReduce、Spark、)。

必须明确,Hadoop并不一定能代替数据仓库。数据仓库是有价值的业务工具。在实际应用中,一般数据仓库和Hadoop同时使用。

本文主要讲解了大数据的概念和应用场景,讲解了数据湖的概念以及数据湖和传统数据仓库的对比。下篇博文将讲解Hadoop的基本概念,欢迎关注。