目录:
大数据就是……好……大数据! 究竟可以将多少数据归类为大数据还不是很明确,所以我们不要在这场辩论中陷入困境。 对于习惯于处理千兆字节数据的小型公司,10 TB的数据将是巨大的。 但是,对于Facebook和Yahoo这样的公司来说,PB很大。
只是大数据的大小,就不可能(或至少在成本上禁止)将其存储在数据库或传统文件管理器等传统存储中。 我们正在谈论存储千兆字节数据的成本。 使用传统的存储文件管理器可能会花费大量金钱来存储大数据。
在这里,我们将研究大数据,其挑战以及Hadoop如何帮助解决它们。 首先,大数据面临的最大挑战。
大数据是非结构化或半结构化的
许多大数据都是非结构化的。 例如,点击流日志数据可能如下所示:
时间戳,user_id,页面,referrer_page
缺乏结构使得关系数据库不适合存储大数据。 此外,没有多少数据库可以应付数十亿行数据的存储需求。
如果我们无法处理,则存储大数据毫无意义
存储大数据是游戏的一部分。 我们必须对其进行处理以挖掘其中的情报。 从传统意义上来说,传统的存储系统只是存储位而已。 他们不提供任何处理能力。
传统的数据处理模型将数据存储在存储集群中,然后将其复制到计算集群中进行处理。 结果将写回到存储集群。
但是,该模型不适用于大数据,因为将这么多数据复制到计算集群可能会非常耗时或不可能。 所以答案是什么?
一种解决方案是就地处理大数据,例如在存储群集中将其倍增为计算群集。
因此,正如我们在上面看到的那样,大数据违反了传统存储。 那么我们如何处理大数据呢?
Hadoop如何解决大数据问题
Hadoop构建为在机器集群上运行让我们从一个例子开始。 假设我们需要存储很多照片。 我们将从一个磁盘开始。 当我们超过单个磁盘时,我们可能会使用堆叠在计算机上的几个磁盘。 当我们最大化一台计算机上的所有磁盘时,我们需要获得一堆计算机,每台计算机都具有一堆磁盘。
这正是Hadoop的构建方式。 Hadoop旨在一开始就可以在计算机集群上运行。
Hadoop集群水平扩展
通过向Hadoop群集添加更多节点,可以实现更多的存储和计算能力。 这消除了购买越来越强大和昂贵的硬件的需求。
Hadoop可以处理非结构化/半结构化数据
Hadoop不会对其存储的数据强制实施架构。 它可以处理任意文本和二进制数据。 因此,Hadoop可以轻松消化任何非结构化数据。
Hadoop集群提供存储和计算
我们看到了拥有单独的存储和处理集群并不是最适合大数据的方式。 但是,Hadoop集群可以一站式提供存储和分布式计算。
Hadoop的业务案例
Hadoop以合理的成本提供大数据存储使用传统存储存储大数据可能会很昂贵。 Hadoop是围绕商品硬件构建的,因此它可以以合理的成本提供相当大的存储。 Hadoop已在PB级领域中使用。
Cloudera的一项研究表明,企业通常每年每TB花费大约25, 000至50, 000美元。 有了Hadoop,每年每TB的成本下降到几千美元。 随着硬件越来越便宜,这种成本继续下降。
Hadoop允许捕获新数据或更多数据
有时,组织不会捕获一种数据,因为存储数据过于昂贵。 由于Hadoop以合理的成本提供存储,因此可以捕获和存储此类数据。
一个例子是网站点击日志。 由于这些日志的数量可能很大,因此没有多少组织捕获到这些日志。 现在,有了Hadoop,就可以捕获和存储日志。
借助Hadoop,您可以存储更长的数据
为了管理存储的数据量,公司会定期清除较旧的数据。 例如,只能存储最近三个月的日志,而删除较旧的日志。 使用Hadoop,可以将历史数据存储更长的时间。 这样就可以对较旧的历史数据进行新的分析。
例如,从网站获取点击日志。 几年前,这些日志被存储了很短的时间以计算统计数据(如热门页面)。 现在有了Hadoop,可以将这些点击日志存储更长的时间。
Hadoop提供可扩展的分析
如果我们无法分析它们,那么存储所有这些数据毫无意义。 Hadoop不仅提供分布式存储,还提供分布式处理,这意味着我们可以并行处理大量数据。 Hadoop的计算框架称为MapReduce。 MapReduce已被证明达到PB的规模。
Hadoop提供丰富的分析
本机MapReduce支持Java作为主要编程语言。 也可以使用其他语言,例如Ruby,Python和R。
当然,编写自定义MapReduce代码不是分析Hadoop中数据的唯一方法。 可以使用更高级别的Map Reduce。 例如,名为Pig的工具采用英语作为数据流语言,然后将其翻译为MapReduce。 另一个工具Hive接受SQL查询并使用MapReduce运行它们。
商业智能(BI)工具可以提供更高级别的分析。 也有用于此类分析的工具。
此内容摘自Mark Kerzner和Sujee Maniyam撰写的“ Hadoop照亮”。 它已通过Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported许可证提供。