很高兴最后一个日常能接触跟hadoop应用相关的一些知识,当然最重要的是想给大家一个分享:
说起来吓死人,跟云梯相关,扯的是淘宝全网的数据,其实是一个很简单的东西,希望通过我的分享,大家也能掌握如此技能,或者更深一步地往下走。
Hadoop是什么?一只玩具象的名字,作者的儿子的玩具象。叫什么不重要,重要的是这玩意儿到底能给咱提供点啥,做点啥。
很可惜,咱们只是应用层的,没有环境搭建和配置等等好玩的东西可以去玩玩,有兴趣的话可以自己在自己的机器上弄一个伪分布式环境爽一把,最好是linux哦~亲!
Hadoop可以做的事情蛮多,我们常听的就是map/reduce这两项操作了,其实再说得直白一点就是:编号/汇总。啥分布式/集群不是什么了不起高深的东西,就是找个东西把N台服务器组织起来更好地提供服务。而hadoop就是这么样一个东西,当买来N太优良服务器的时候,我们需要给每台服务器装一个linux/unix操作系统并连上网,然后在里面装上JDK再弄上ssh服务,最后装上hadoop,然后弄好配置,然后一个完整的hadoop集群环境就能为你服务了。
为啥要编号/汇总?为什么人民币只有1/2/5/10这么几种面值?怎么没有11块的人民币?有,肯定是假币。这是为了方便使用。当数据繁杂的时候,我们不光要考虑数据存储的问题,因为数据存储是能用钱解决的问题,不就是买服务器么,咱不缺钱。如果存着的东西没有价值不如不存,存的目的是以备不时之需,等需要的时候取出来。既然1/2/5/10这么几种面值就能拼出其他所有面值,干嘛还非得弄个十一块呢?其他的数据都是没有价值的。然后马上就有人来问,为啥不是只有一块,请问咱们买电脑的时候用过几千张一块么?人要懂得权衡利弊,取最合适的。你为人民币设计者省事还得为自己省事,还得为钱的存储空间发愁啊。
Hadoop最经典的例子是word count,话说这样的程序很多人都写过,用一个map很容易就能实现,word当key,count当value遇到存在的word就++;这就是hadoop里面的map原型。而reduce就是根据你的需求来的了,word count嘛有个value值统计出来就好了,于是你就在reduce里面把key /value都对应地保存起来就好了。
而本次我实现的应用是进行卖家分类,按照信用等级来的。于是,信用等级为key卖家ID为value,map的时候,N个在同一区间的ID映射到同一个key,然后在reduce的时候把同一个key值的ID放到同一个文件夹,OK任务完成。
另外几个值得注意的地方可以让大家少走些弯路:
1. 认真观察你要使用的数据的数据结构,先做好人工的数据分析,数据提取,就是手动扒几行来看看
2. 在扒数据的过程中会看到诸如数据存储格式等等的各种问题,看到一点记录一点,后面的配置过程中用得着
3. 做完之后最好能有个分享,因为能把一个东西用好不是一天两天的事情,大家同在一个部门,共同进步才好
额,应用层其实满肤浅,但是也必不可少,没有需求就没有人类的发展,世界的进步,欲望无止境,所以人类会不停地进步。
看上去是一个很简单的东西,但是hadoop帮我们完成了很多很多,比如数据分布在一个大的集群中的时候,每台机器怎么协同合作,结果汇总?怎么提高利用效率,怎么进行并行计算?等等等等,根本就不是我辈小程序员可以弄得出来的。如果想做技术男,请深入了解,这是对hadoop这款产品最好的尊重方式。
具体怎么搞:http://hadoop.apache.org/common/docs/r0.19.2/cn/这里全有,至于我的源代码什么的,由于涉及到淘宝的云梯数据,所以不能一并流出…
分享到:
相关推荐
1. **MapReduce**:MapReduce是Hadoop的核心计算模型,它将大型任务分解为小的“map”任务,然后在分布式节点上并行处理,最后通过“reduce”阶段整合结果。在案例中,单词统计是一个经典的MapReduce应用,它演示了...
在深入探讨"Hadoop高级应用三"这一主题之前,我们首先要理解Hadoop的基础概念。Hadoop是Apache基金会开发的一个开源项目,旨在提供一个可扩展、可靠的分布式计算框架,它能够处理和存储海量数据。Hadoop的核心组件...
【Hadoop高级应用四】 Hadoop,作为Apache基金会的核心项目之一,是一个开源的分布式计算框架,旨在处理和存储海量数据。它的设计灵感来源于Google的MapReduce编程模型和GFS(Google文件系统)。Hadoop的核心组件...
【Hadoop 应用误解详解】 1. **误解:Hadoop 可以做任何事情** **正解:** Hadoop 并非万能解决方案。虽然它的设计目标是为了处理大量非结构化和半结构化数据,但并不意味着它可以无缝替代所有现有系统。如同早期...
java WriteHDFS实现,hadoop应用java WriteHDFS实现,hadoop应用java WriteHDFS实现,hadoop应用java WriteHDFS实现,hadoop应用java WriteHDFS实现,hadoop应用java WriteHDFS实现,hadoop应用java WriteHDFS实现,...
【标题】:“Hadoop高级应用” 在大数据处理领域,Hadoop是不可或缺的重要工具,它以其分布式计算框架,为海量数据的存储和处理提供了强大的支持。Hadoop的高级应用主要涉及以下几个核心方面: 1. **MapReduce编程...
本教程“Hadoop高级应用一”将深入探讨这个强大的分布式系统基础架构,旨在帮助用户进一步提升在Hadoop生态系统中的技能。 Hadoop由Apache基金会开发,自2006年发布以来,已经成为了全球范围内大规模数据处理的首选...
【标题】"Hadoop商业应用案例(1)"揭示了在实际业务环境中如何运用Hadoop这一分布式计算框架。Hadoop作为大数据处理的核心工具,其在众多行业的广泛应用正不断推动着企业数据价值的挖掘。 【描述】提到的“开发商业...
"hadoop高级应用二"这个主题将深入探讨Hadoop生态系统中的高级概念和技术,帮助用户更好地理解和利用Hadoop进行大规模数据处理。以下是对这个主题的详细阐述: 一、Hadoop概述 Hadoop是由Apache基金会开发的一个...
在《1Hadoop高级应用实战》这一主题中,我们将深入探讨Hadoop生态系统中的高级技术和实践方法,这对于Hadoop开发者来说是一份极其宝贵的资源。Hadoop是大数据处理领域的一个核心组件,它提供了分布式存储(HDFS)和...
《Hadoop应用开发与案例实战(慕课版)》是一门深入探讨大数据处理技术的课程,主要聚焦在Hadoop平台上进行应用开发的实践操作。这门课通过丰富的PPT课件,旨在帮助学习者理解Hadoop的核心概念,掌握其开发技巧,并...
,Hadoop 技术已经在互联网领域得到了广泛的应用。互联网公司往往需要 存储海量的数据并对其进行处理,而这正是Hadoop 的强项。如Facebook 使用Hadoop 存储 内部的日志拷贝,以及数据挖掘和日志统计;Yahoo !利用...
这个压缩包文件“Hadoop应用及相关”显然包含了关于Hadoop的核心信息,包括安装教程和可能的PPT资源,这将对学习和理解Hadoop生态系统提供极大的帮助。下面我们将深入探讨Hadoop及其主要组件MapReduce。 Hadoop是...
【标题】:“基于Hadoop的网盘应用” 在当今大数据时代,Hadoop作为一个开源的分布式计算框架,已经广泛应用于各种领域,其中包括网盘服务。基于Hadoop的网盘应用充分利用了其分布式存储和处理能力,为用户提供了...
1.大数据背景介绍 2. HADOOP体系架构 3. 基于HADOOP的大数据产品分析 4. 基于HADOOP的大数据行业应用分析 5.东软基于HADOOP的大数据应用建议
"基于Eclipse的Hadoop应用开发环境配置" 基于 Eclipse 的 Hadoop 应用开发环境配置是指在 Eclipse 中配置 Hadoop 开发环境,以便开发和运行 Hadoop 应用程序。本节将对基于 Eclipse 的 Hadoop 应用开发环境配置进行...
根据给定文件的内容部分,我们可以提炼出以下几个知识点: 1. 大数据业务处理基本流程与关键技术 ...在实际的Hadoop学习和应用中,这些知识点是非常重要的基础,有助于理解和操作Hadoop集群以及处理大数据问题。
【广东工业大学Hadoop高级应用实验报告】 本实验报告聚焦于Hadoop这一开源大数据处理框架的高级应用,旨在帮助学生深入理解和掌握Hadoop在实际场景中的运用。Hadoop是由Apache软件基金会开发的一个分布式计算项目,...