使用Hadoop分析大数据
大数据由于其庞大的规模而显得笨拙,并且大数据需要工具进行高效地处理并从中提取有意义的结果。Hadoop是一个用于存储,分析和处理数据的开源软件框架和平台。本文是Hadoop如何帮助分析大数据的初学者指南。
大数据(Big Data)是一个指大量数据的术语,包括传统数据库中存在的结构化数据以及文本文档,视频和音频等非结构化数据。大数据不仅仅是数据,也是各种工具、技术、框架和平台的集合。交通数据、搜索数据、证券交易所数据、社交媒体数据等都属于大数据的范畴。
在这里我还是要推荐下我自己建的大数据学习交流qq裙:522189307 , 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴。上述资料加群可以领取
从技术上讲,大数据是指一组大量的数据,可通过计算技术进行分析以提取模式并揭示有助于预测下一步的常见或重复的点——特别是人类行为,例如基于分析过去的购买模式的未来消费行为。
大数据不是关于数据量的问题,更多是关于人们用它来做什么。诸如商业公司和教育机构等许多组织正在使用这些数据来分析和预测某些行为的后果。收集数据后,它可以有这几个用途,如:
- 降低成本
- 开发新产品
- 做出更快更明智的决定
- 检测故障
今天,大数据几乎被所有行业所采用,包括银行,政府,制造业,航空公司和酒店等。
有许多用于存储和管理数据的开源软件框架,而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中有四个主要的库。
- Hadoop Common:这提供了Hadoop中所有其他模块使用的公用程序。
- Hadoop MapReduce:这是一个用于调度和处理数据的并行框架。
- Hadoop YARN:这是Yet Another Resource Navigator(另一个资源导航器)的首字母缩写。它是MapReduce的改进版本,用于Hadoop上运行的进程。
- 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使机器学习算法更简单。
使用Hadoop分析大数据相关推荐
- 零售业如何用Hadoop开启大数据之门?
文章讲的是零售业如何用Hadoop开启大数据之门,在过去几年,全球零售商一直试图利用大数据创造价值.由于其大数据分析基础架构的限制,许多工作被一再推迟.Hadoop为这些零售商打开了新的大门,它可以解 ...
- 分享Hadoop处理大数据工具及优势
现如今,随着云计算技术.物联网技术的兴起,企业需要应对的数据规模越来越大.数据格式越来越复杂.数据收集速度越来越快,也使得它和传统意义的业务数据相比,有了明显的特点.比如ApacheHadoop已成为 ...
- 荐六十款针对Hadoop和大数据顶级开源工具
为什么80%的码农都做不了架构师?>>> 荐六十款针对Hadoop和大数据顶级开源工具 2015-08-10 10:37 布加迪编译 51CTO 字号: T | T 说到处理 ...
- 初识Hadoop:大数据与Hadoop概述
1.大数据概述 大数据(big data),IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高 ...
- Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户
深度好文丨读完此文,就知道Hadoop了! 来源:BiThink 时间:2016-04-12 15:14:39 作者:陈飚 "昔我十年前,与君始相识." 一瞬间Hadoop也到了要 ...
- 属于 Hadoop 的大数据时代已结束
作者 | Andrew Brust 译者 | 风车云马 出品 | CSDN(ID:CSDNnews) 以下为译文: 在11天内,13个与大数据相关的 Apache 项目(包括 Sentry.Tajo ...
- Ronald Van Loon/Greg White带你领略Hadoop/Spark大数据CCA175认证(一)
目录 圣普伦Simplilearn课程概述: 圣普伦的Hadoop/Spark大数据CCA175认证培训课程特点: 上课模式: 预修课程: 适合人群 主要学习成果: 认证考试: 认证条件: 课程设置: ...
- 使用Hadoop分析气象数据完整版(附带完整代码)
<分布式>布置了一道小作业,让我花了7天时间学习了Hadoop...现在终于可以正式地做这个作业了,记录一下. 使用Hadoop分析气象数据 1 获取数据 1.1 下载数据 1.2 数据格 ...
- Hadoop生态圈 大数据文档
文档基于介绍基于Hadoop的大数据生态圈.介绍下图每一个组件的使用场景及使用方法,同时还对每一个组件有更深入的介绍. 1.Hadoop 1.1 Hadoop简介 2005年,Doug Cutting ...
最新文章
- 讨论JDK的File.equal()
- Silverlight+WCF 新手实例 象棋 主界面-事件区-求和认输(三十二)
- smartfoxserver java客户端_SmartFoxServer之服务器篇一
- Linux运维:常用的压缩解压缩命令(zip、tar)
- 高中生活--第1篇--荣辱一身,悲尽兴来
- 自媒体和计算机相关吗,做自媒体,台式电脑跟笔记本电脑用哪个好呢?
- 开发进阶:Dotnet Core多路径异步终止
- python3 使用 pi3 安装软件时候,报错找不到 SSL 附解决方法
- 一.论文编写之工具记录
- java 数组排序_用Java对数组排序
- ros怎么跑小车_ROS坐标转换讲解 | Autolabor Simulation
- keras如何在验证集加噪声_Keras从时域、频域处理音频分类问题(带详细注释)...
- SendMessage,PostMessage
- VMware 虚拟机运行卡慢的解决办法
- MATLAB基础语法之蒙特卡罗模拟_1(布丰投针)
- boot版本是什么 cent os_确定 BootROM 或固件版本
- CISCO ISIS
- C语言之实用调试技巧
- Commons-Collections3 , Commons-Collections4反序列化 从0开始手写exp
- 树莓派4B 声音传感器DO模块