关于大数据你需要知道的一切

摘要:分析大量的数据只是使大数据与以前的数据分析不同的部分,还需要了解其他三方面是什么。

人类每天都吃、睡、工作、玩,这生产数据并且是大量的数据。根据IBM的数据,人类每天产生2.5万亿(250亿)字节的数据。这相当于一堆dvd排到月球背面,这些数据包括从我们发送的文本和我们上传的照片到工业传感器和机器到机器的通信。

这就是为什么“大数据”成为如此常见的口头禅的一个重要原因。简单地说,当人们谈论大数据时,他们指的是获取大量数据的能力,分析它,并把它变成有用的东西。

精确的大数据是什么?

大数据远不止于此。它是关于:

从多个来源获取大量数据

不仅仅是大量的数据,而是不同种类的数据,同一时间的多种数据,以及时间变化的数据,这些数据不需要首先转换成特定的格式,也不需要前后一致

对数据进行分析,允许对同一数据池进行持续分析,以达到不同的目的

即使是在实时的情况下,也是如此。

在早期,这个行业有一个缩略词来描述这四个方面的三个方面:VVV,体积(大量),多样性(不同种类的数据,以及数据随时间变化的事实),以及速度(速度)。

大数据与数据仓库

VVV的首字母缩写遗漏了一个关键的概念,即数据不需要永久地改变(转换)来进行分析。这种非破坏性分析意味着组织可以对相同的数据池进行分析,以达到不同的目的,并可以分析收集到不同目的的数据源的数据。

相比之下,数据仓库是专门为特定目的分析特定数据而构建的,数据是结构化的,并转换为特定的格式,原始数据在过程中基本上被销毁,因为特定的目的,而不是其他的被称为提取、转换和加载(ETL)。数据仓库的ETL方法对具体分析的具体数据进行了有限的分析。当你所有的数据都存在于你的事务系统中时,这很好,但在今天的联网世界里,没有任何地方的数据。

然而,不要认为大数据会使数据仓库过时。大数据系统让你在非结构化数据的情况下工作,但你得到的查询结果类型远不及数据仓库的复杂程度。毕竟,数据仓库的设计目的是深入数据,它可以做到这一点,因为它已经将所有的数据转换成一致的格式,让您可以做一些事情,比如构建深钻的立方体。数据仓库供应商已经花费了许多年的时间来优化他们的查询引擎来回答典型的商业环境的查询。

大数据可以让你从更多的数据源中获得更多的数据,但分辨率更低。因此,在未来一段时间内,我们将继续使用传统的数据仓库和新的风格。

大数据背后的技术突破

要完成大数据量、变体、无损使用和速度所需的四个方面, 需要数项技术突破, 包括开发分布式文件系统 (Hadoop), 这是一种方法来理解不同的动态数据 (首先是 Google 的 MapReduce, 以及最近的Apache Spark), 以及一个云/互联网基础设施, 可根据需要访问和移动数据。

直到十几年前,在任何时候都不可能操作超过少量的数据。(嗯,我们都认为我们的数据仓库在当时是巨大的。从那时起,互联网的背景已经发生了巨大的变化。数据存储的数量和位置、计算能力以及处理来自多个数据源的不同数据格式的能力的限制使得这项任务几乎不可能完成。

然后,大约在2003年,谷歌的研究人员开发了MapReduce。这种编程技术简化了处理大数据集的方法,首先将数据映射到一系列键/值对,然后执行类似键的计算,以将它们简化为单个值,同时处理数百个或数千台低成本机器上并行的数据块。这种巨大的并行性使得谷歌能够更快地从更大的数据量中生成搜索结果。

2003年前后,谷歌创造性的取得了两大突破,使大数据成为可能:一个是Hadoop,它由两个关键服务组成:

使用Hadoop分布式文件系统(HDFS)的可靠数据存储

使用称为MapReduce的技术的高性能并行数据处理。

Hadoop在一个产品集合上运行,没有共享服务器。您可以随意添加或删除Hadoop集群中的服务器,系统检测并补偿任何服务器上的硬件或系统问题。Hadoop,换句话说,就是自我修复。它可以交付数据并运行大规模、高性能的处理工作,尽管系统发生了变化或失败。

尽管Hadoop为数据存储和并行处理提供了一个平台,但真正的价值来自于技术的附加组件、交叉集成和自定义实现。为此,Hadoop提供了子项目,这些子项目为平台增加了功能和新功能:

Hadoop Common:其他Hadoop子项目的公共实用工具。

Chukwa:用于管理大型分布式系统的数据收集系统。

HBase:一个可伸缩的分布式数据库,用于大型表的结构化数据存储。

HDFS:一个分布式系统,它提供对应用程序数据的高吞吐量访问。

Hive:提供数据汇总和临时查询的数据仓库基础设施。

MapReduce:一个用于在计算集群上分布式处理大型数据集的软件框架。

PIg:一种高级别的数据语言和执行框架并行计算。

ZooKeeprt:一个分布式应用的高性能协调服务。

Hadoop平台的大多数实现包括至少其中一些子项目,因为它们通常是开发大数据所必需的。例如,大多数组织选择使用HDFS作为主要的分布式文件系统,HBase作为数据库,可以存储数十亿行数据。使用MapReduce或最近的Spark几乎是必定的,因为它们给Hadoop平台带来了速度和灵活性。

使用MapReduce,开发人员可以创建程序,在分布式的处理器集群或独立的计算机上并行处理大量非结构化数据。MapReduce框架被分解为两个功能区:

Map,一个将工作打包到分布式集群中的不同节点的函数。

Reduce,一个将工作排序并将结果解析为单个值的函数。

MapReduce的主要优点之一是它可以通过监视集群中的每个节点来实现容错功能;每个节点预计将定期报告完成的工作和状态更新。如果节点保持静默时间长于预期间隔,则主节点会发出通知并将工作重新分配给其他节点。

Apache Hadoop是一个开源框架,它的核心是使用MapReduce,之后的两年开发了它。Hadoop最初是用来索引现在不太出名的Nutch搜索引擎的,现在几乎所有的主要行业都使用Hadoop来提供广泛的大数据工作。由于Hadoop的分布式文件系统和纱线(还有另一个资源谈判人员),这个软件让用户可以把大量的数据集处理成成千上万的设备,就好像它们都在一台巨大的机器上一样。

2009年,加州大学伯克利分校的研究人员开发了Apache Spark作为MapReduce的替代品。因为Spark在并行使用内存存储时执行计算,所以它可以比MapReduce快100倍。Spark可以作为一个独立的框架或在Hadoop内部工作。

即使使用Hadoop,仍然需要一种方法来存储和访问数据。这通常是通过像MongoDB这样的NoSQL数据库来完成的,比如CouchDB,或Cassandra,专门处理分布在多台机器上的非结构化或半结构化数据。与数据仓库不同的是,在数据仓库中,大量的数据被聚合成统一的格式,并存储在单一的数据存储中,这些工具不会改变数据的底层性质或位置,数据邮件仍然是电子邮件,传感器数据仍然是传感器数据,几乎可以在任何地方存储。

但是,如果在一个NoSQL数据库中存储大量的数据,那么在使用这些数据之前,将不会有太大的好处。这就是大数据分析的切入点。像Tableau、Splunk和Jasper BI这样的工具可以解析这些数据以识别模式、提取含义,并揭示新的见解,在那里做的事情会根据需要而变化。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171209G0QZ2E00?refer=cp_1026

相关快讯

扫码关注云+社区