专栏首页大数据使用Hadoop分析大数据

使用Hadoop分析大数据

Hadoop

大数据由于其庞大的规模而显得笨拙,并且大数据需要工具进行高效地处理并从中提取有意义的结果。Hadoop是一个用于存储,分析和处理数据的开源软件框架和平台。本文是Hadoop如何帮助分析大数据的初学者指南。

大数据(Big Data)是一个指大量数据的术语,包括传统数据库中存在的结构化数据以及文本文档,视频和音频等非结构化数据。大数据不仅仅是数据,也是各种工具、技术、框架和平台的集合。交通数据、搜索数据、证券交易所数据、社交媒体数据等都属于大数据的范畴。

从技术上讲,大数据是指一组大量的数据,可通过计算技术进行分析以提取模式并揭示有助于预测下一步的常见或重复的点——特别是人类行为,例如基于分析过去的购买模式的未来消费行为。

大数据不是关于数据量的问题,更多是关于人们用它来做什么。诸如商业公司和教育机构等许多组织正在使用这些数据来分析和预测某些行为的后果。收集数据后,它可以有这几个用途,如:

  • 降低成本
  • 开发新产品
  • 做出更快更明智的决定
  • 检测故障

今天,大数据几乎被所有行业所采用,包括银行,政府,制造业,航空公司和酒店等。

有许多用于存储和管理数据的开源软件框架,而Hadoop就是其中之一。它具有巨大的存储数据能力,高效的数据处理能力和做无数任务的能力。它是由Apache开发的基于Java的编程框架。有很多组织使用Hadoop —— 包括Amazon Web Services,Intel,Cloudera,Microsoft,MapR Technologies,Teradata等。

Hadoop的历史

Doug Cutting和Mike Cafarella是Hadoop历史上两位重要人物。他们希望通过将数据分布在多台机器上并行计算来更快地返回网络搜索结果,以便同时执行多个作业。那时,他们正在开发一个名为Nutch的开源搜索引擎项目。但是,与此同时,谷歌搜索引擎项目也在进行中。所以,Nutch被分成两部分(其中一部分涉及数据处理),这两个部分被命名为Hadoop——一个属于Cutting儿子的玩具大象。Hadoop于2008年由雅虎发布为开源项目。今天,Apache软件基金会维护着Hadoop生态系统。

使用Hadoop的先决条件

基于Linux的操作系统如Ubuntu或Debian是建立Hadoop的首选。有关Linux命令的基本知识很有帮助。此外,Java在Hadoop的使用中扮演着重要的角色。但人们可以使用他们喜欢的语言,如用Python或Perl来编写方法或函数。

Hadoop中有四个主要的库。

  1. Hadoop Common:这提供了Hadoop中所有其他模块使用的公用程序。
  2. Hadoop MapReduce:这是一个用于调度和处理数据的并行框架。
  3. Hadoop YARN:这是Yet Another Resource Navigator(另一个资源导航器)的首字母缩写。它是MapReduce的改进版本,用于Hadoop上运行的进程。
  4. Hadoop分布式文件系统(Hadoop Distributed File System ) - HDFS:存储数据并维护各种机器或群集上的记录。它也允许数据以可访问的格式存储。

HDFS将数据发送到服务器一次,并根据需要多次使用它。当引发查询时,NameNode管理提供给定查询的所有DataNode从属节点。Hadoop MapReduce执行所有按顺序分配的作业。Pig Hadoop和Hive Hadoop被用于更好的性能表现上,而不是MapReduce。

下面列出了其他可以支持Hadoop的软件包。

  • Apache Oozie:管理在Hadoop中发生的进程的调度系统
  • Apache Pig:运行Hadoop程序的平台
  • Cloudera Impala: Hadoop的处理数据库。最初它是由软件组织Cloudera创建的,但后来被作为开源软件发布
  • Apache HBase: Hadoop的非关系数据库
  • Apache Phoenix:基于Apache HBase的关系数据库
  • Apache Hive:用于汇总,查询和分析数据的数据仓库
  • Apache Sqoop:用于在Hadoop和结构化数据源之间存储数据
  • Apache Flume:用于将数据移动到HDFS的工具
  • Cassandra:可扩展的多数据库系统

Hadoop的重要性

Hadoop能够存储和处理各种类型的大量数据。在存储数据之前不需要预处理数据。Hadoop具有高度的可扩展性,因为它可以在并行运行的多台机器上存储和分发大型数据集。这个框架是免费的,并使用经济高效的方法。

  • Hadoop用于:
  • 机器学习
  • 处理文本文件
  • 图像处理
  • 处理XML消息
  • 网络爬虫
  • 数据分析
  • 营销领域分析
  • 统计数据研究

使用Hadoop时面临的挑战

Hadoop不提供简单的工具来清除数据中的噪音; 因此,保持这些数据是一个挑战。它有许多数据安全问题,如加密问题。流式作业和批处理作业不能有效执行。MapReduce编程对于涉及高度分析技能的工作而言效率低下。它是一个低级API的分布式系统。一些API对开发人员无用。

但也有好处。Hadoop有许多有用的功能,如数据仓库,欺诈检测和市场活动分析。这些有助于从收集的数据中获取有用的信息。Hadoop能够自动复制数据。因此有多份数据可被用作备份来防止数据丢失。

类似于Hadoop的框架

没有提及Hadoop的任何关于大数据的讨论都不是完整的。但是与其他技术一样,许多类似于Hadoop的框架已经被开发了。其他广泛使用的框架包括Ceph,Apache Storm,Apache Spark,DataTorrentRTS,Google BiqQuery,Samza,Flink和HydraDataTorrentRTS。

MapReduce需要很多时间才能执行分配的任务。Spark可以通过对数据进行内存中的处理来解决这个问题。Flink是另一个比Hadoop和Spark工作速度更快的框架。Hadoop对实时处理数据效率不高。Apache Spark使用对数据进行连续输入和输出的数据进行流处理。Apache Flink还为数据流和批处理提供单一运行时。

但是,Hadoop因其可扩展性,低成本和灵活性而成为大数据分析的首选平台。它提供了一系列数据科学家需要的工具。带有YARN的Apache Hadoop将大量原始数据转换为易于使用的特征矩阵。Hadoop使机器学习算法更简单。

本文的版权归 FesonX 所有,如需转载请联系作者。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在Ubuntu上启动并运行Hadoop

    Hadoop是一个用Java编写的框架,它允许在大型商品硬件集群上以分布式方式处理大型数据集。

    大数据弄潮儿
  • Hadoop/R 集成 I:流处理

    原文地址:https://dzone.com/articles/hadoopr-integration-i

    大数据弄潮儿
  • 扩展大数据网络的规模

    原文地址:https://dzone.com/articles/scaling-big-data-fabrics

    大数据弄潮儿
  • Hadoop的优点和缺点有哪些?

    2、Hadoop通过可用的计算机集群分配数据,完成存储和计算任务,这些集群可以方便地扩展到数以千计的节点中,具有高扩展性。

    加米谷大数据
  • 将Hadoop作为基于云的托管服务的优劣势分析

     Apache Hadoop是一种开源软件框架,能够对分布式集群上的大数据集进行高吞吐量处理。Apache模块包括Hadoop Common,这是一组常见的实用...

    统计学家
  • 一线公司hadoop实际案例及其应用

    Hadoop的具体使用案例,我们选取了Yahoo!、百度、Facebook、eBay和海量数据排序为例进行说明,主要介绍了商业公司如何使用Hadoop来增强自己...

    Albert陈凯
  • 你应该了解的十个Hadoop的应用场景

    在线旅游:目前全球范围内 80%的在线旅游网站都是在使用 Cloudera 公司提供的 Hadoop发行版,其中 SearchBI 网站曾经报道过的 Exped...

    加米谷大数据
  • 【技术分享】你应该了解的十个Hadoop的应用场景

    在大数据背景下,Apache Hadoop 已经逐渐成为一种标签性,业界对于这一开源分布式技术的了解也在不断加深。但谁才是 Hadoop 的最大用户呢?首先想到...

    加米谷大数据
  • Hadoop生态圈:Hadoop技术入门书单

    在大数据开源系统框架当中,Hadoop始终是一个值得关注的重点,经过这么多年的发展,Hadoop依然占据着重要的市场地位。学大数据,必学Hadoop,也说明了H...

    成都加米谷大数据
  • 初识Hadoop

    Hadoop这个名字并不是什么具有实际意义的单词,而是Hadoop项目作者的孩子给一个棕黄 色大象玩具的命名

    端碗吹水

扫码关注云+社区

领取腾讯云代金券