大数据介绍

Open source resources

Opensource.com

大数据:每个人似乎都在谈论它,但大数据究竟是什么?它如何改变公司、非营利组织、政府、机构和其他组织的研究人员了解他们周围世界的方式?这些数据来自哪里,如何处理,以及结果如何使用?为什么开源对于回答这些问题如此重要?

在这篇简短的入门文章中,了解关于大数据的一切以及它对我们生活的变化世界意味着什么。

什么是大数据?

对于数据库需要达到多大尺寸才能被认为是“大”数据,并没有硬性规定。相反,通常定义大数据的是处理它所需的新技术和工具。为了使用大数据,您需要跨多个物理和/或虚拟机协同工作的程序,以便在合理的时间跨度内处理所有数据。

使多台机器上的程序以高效的方式协同工作,以便每个程序都知道要处理哪些数据组件,然后能够将所有机器的结果放在一起以理解大量数据,这需要特殊的编程技术。由于程序访问本地存储的数据通常比通过网络访问数据快得多,因此数据在集群中的分布以及这些机器如何联网在一起也是考虑大数据问题时的重要因素。

哪些类型的数据集被认为是大数据?

大数据的用途几乎与其规模一样多样化。您可能已经熟悉的突出示例包括:社交媒体网络分析其成员的数据,以更多地了解他们,并将他们与与其兴趣相关的内容和广告联系起来;或者搜索引擎查看查询和结果之间的关系,以便为用户的问题提供更好的答案。

但潜在的用途远不止于此!大量数据中最大的两个来源是交易数据,包括从股票价格到银行数据到个体商户的购买历史的所有内容;以及传感器数据,其中大部分来自通常被称为物联网 (IoT) 的事物。这种传感器数据可能是从汽车制造商生产线上机器人获取的测量数据,到手机网络上的位置数据,到家庭和企业中的瞬时用电量数据,到公共交通系统上获取的乘客登机信息。

通过分析这些数据,组织可以了解他们正在测量的数据的趋势,以及生成这些数据的人。这种大数据分析的希望是提供更定制化的服务和更高的效率,无论数据收集自哪个行业。

大数据是如何分析的?

将原始数据转化为有用信息的最佳方法之一是众所周知的 MapReduce。MapReduce 是一种跨多台计算机并行处理大型数据集的方法。它作为一种编程模型,通常用于指代该模型的实际实现。

本质上,MapReduce 由两部分组成。Map 函数执行排序和过滤,获取数据并将其放入类别中,以便可以对其进行分析。Reduce 函数通过将所有数据组合在一起,提供此数据的摘要。虽然 MapReduce 主要归功于 Google 进行的研究,但现在它已成为一个通用术语,指的是许多技术使用的一般模型。

使用哪些工具来分析大数据?

也许用于分析大数据的最有影响力和最成熟的工具被称为 Apache Hadoop。Apache Hadoop 是一个用于大规模存储和处理数据的框架,并且它是完全开源的。Hadoop 可以在商用硬件上运行,使其易于与现有数据中心一起使用,甚至可以在云中进行分析。Hadoop 分为四个主要部分

  • Hadoop 分布式文件系统 (HDFS),它是一个为非常高的聚合带宽设计的分布式文件系统;
  • YARN,一个用于管理 Hadoop 资源和调度将在 Hadoop 基础设施上运行的程序的平台;
  • MapReduce,如上所述,一个用于进行大数据处理的模型;
  • 以及一组供其他模块使用的通用库。

要了解有关 Hadoop 的更多信息,请参阅我们的大数据 Apache Hadoop 介绍

还有其他工具。备受关注的一个是 Apache Spark。Spark 的主要卖点是它将大部分用于处理的数据存储在内存中,而不是在磁盘上,这对于某些类型的分析可能会快得多。根据操作的不同,分析师可能会看到快一百倍或更多的结果。Spark 可以使用 HDFS,但它也能够与其他数据存储一起工作,例如 Apache Cassandra 或 OpenStack Swift。在单台本地机器上运行 Spark 也相当容易,从而使测试和开发更容易。

有关 Apache Spark 的更多信息,请参阅我们关于该主题的文章集

其他大数据工具

当然,这些不是唯一的大数据工具。有无数开源解决方案可用于处理大数据,其中许多解决方案专门用于为特定领域或特定硬件配置提供最佳功能和性能。

Apache 软件基金会 (ASF) 支持许多这些大数据项目。以下是一些您可能会觉得有用的工具。

  • Apache Beam 是“用于定义批处理和流数据并行处理管道的统一模型”。它允许开发人员编写可在多个处理引擎上工作的代码。
  • Apache Hive 是一个构建在 Hadoop 上的数据仓库。作为一个顶级的 Apache 项目,它“使用 SQL 方便了大型数据集的读取、写入和管理”。
  • Apache Impala 是一个在 Hadoop 上运行的 SQL 查询引擎。它在 Apache 中孵化,并因其在提供熟悉界面的同时提高 SQL 查询性能而受到吹捧。
  • Apache Kafka 允许用户发布和订阅实时数据流。它旨在将其他消息传递系统的可靠性带到流数据。
  • Apache Lucene 是一个全文索引和搜索软件库,可用于推荐引擎。它也是许多其他搜索项目的基础,包括 Solr 和 Elasticsearch。
  • Apache Pig 是一个在 Hadoop 上运行的用于分析大型数据集的平台。Yahoo 开发它以在大型数据集上执行 MapReduce 作业,并在 2007 年将其贡献给了 ASF。
  • Apache Solr 是一个构建在 Lucene 上的企业搜索平台。
  • Apache Zeppelin 是一个孵化项目,它支持使用 SQL 和其他编程语言进行交互式数据分析。

您可能想要研究的其他开源大数据工具包括

  • Elasticsearch 是另一个基于 Lucene 的企业搜索引擎。它是 Elastic Stack 的一部分(以前称为 ELK Stack,因为它的组件:Elasticsearch、Kibana 和 Logstash),可以从结构化和非结构化数据中生成见解。
  • Cruise Control 由 LinkedIn 开发,用于大规模运行 Apache Kafka 集群。
  • TensorFlow 是一个用于机器学习的软件库,自 Google 在 2015 年底开源以来,它发展迅速。它因其易用性而被赞誉为机器学习的“大众化”。

随着大数据在规模和重要性上持续增长,用于处理大数据的开源工具列表也肯定会继续增长。

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.