其中,一些因素可能看起来很明显,另一些则比较微妙。实际上,所有因素共同对你的大数据系统将支持的分析和行动带来巨大的影响。
当然,不是说只有这七个因素才会对大数据基础设施的工作方式带来影响。大数据系统牵涉好多部分,但这七个因素值得你考虑,因为它们是许多其他部分和流程的基础。
眼下,你可能在使用大数据,即便你是在一家小公司工作。这要拜现有的基础设施部分所赐――其中许多部分连最小的IT部门也能访问。
伴随这种可访问性而来的是,那些本身并不拥有数据科学专长的小公司员工可能感到困惑和沮丧。如果你处于这种情形,本文不会消除你的所有困惑,但是让你可以开始向潜在的服务提供商和供应商提一些针对性的问题。
大数据远不止Hadoop
在平常的谈话中,大数据和Hadoop常常被人换着使用。这样的结果让人遗憾,因为大数据远不止Hadoop。 Hadoop是一种文件系统(而不是数据库),旨在跨数百或数千个处理节点传送数据。它用于许多大数据应用,原因是作为一种文件系统,它擅长处理非结构化数据,这类数据甚至不像其周围的数据。当然,一些大数据是结构化的,为此你需要一个数据库。但数据库是本文介绍的一个不同因素。
Hive和Impala将数据库引入到Hadoop
这里说的是面向大数据世界中结构化数据的数据库。如果你想让Hadoop数据平台井然有序,那么Hive可能正是你需要的。这种基础设施工具让你可以针对非常不像SQL的Hadoop处理类似SQL的操作。
如果你有一部分数据很容易放在结构化数据库中,那么Impala是旨在驻留在Hadoop里面的数据库,它还可以使用你从Hadoop转换到SQL过程中开发的Hive命令。所有这三个(Hadoop、Hive和Impala)都是Apache项目,所以它们都是开源的。
Spark用于处理大数据
到目前为止,我们一直在谈论存储和组织数据。但是,如果你想实际处理数据又怎么样?这时候,你就需要一种像Spark这样的分析和处理引擎。Spark是另一个Apache项目,它包括一批开源和商业产品,拿来你添加到数据湖、仓库和数据库的数据后,对数据做一些有用的操作。
由于它可以访问你能想象的任何数据的库,Spark可用于处理存储在各种地方的各种数据。它同样是开源的,所以你可以随意修改它。
你可以对大数据执行SQL操作
许多人知道如何构建SQL数据库和编写SQL查询。面对大数据时,这种专长没有必要浪费。Presto是一种开源SQL查询引擎,它让数据科学家可以使用SQL查询,查询驻留在从Hive到专有商业数据库管理系统的任何环境的数据库。它被Facebook之类的大公司用于交互式查询,而交互式查询这个短语是关键。Presto就好比是一种对庞大数据集执行即席交互式查询的工具。