首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/363905

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

用python写MapReduce函数——以WordCount为例

阅读目录 1. Python MapReduce 代码 2. 在Hadoop上运行python代码 3. 利用python的迭代器和生成器优化Mapper 和 Reducer代码 4. 参考 尽管Hadoop框架是用java写的,但是Hadoop程序不限于java,可以用python、C++、ruby等。本例子中直接用python写一个MapReduce实例,而不是用Jython把python代码转化成jar文件。 例子的目的是统计输入文件的单词的词频。 输入:文本文件 输出:文本(每行包括单词和单词的词频,两者之间用'\t'隔开) 回到顶部 1. Python MapReduce 代码 使用python写MapReduce的“诀窍”是利用Hadoop流的API,通过STDIN(标准输入)、STDOUT(标准输出)在Map函数和Reduce函数之间传递数据。 我们唯一需要做的是利用Python的sys.stdin读取输入数据,并把我们的输出传送给sys.stdout。Hadoop流将会帮助我们处理别的任何事情。 1.1 Map阶段:mapper.py 在这里,...

Hadoop 源码分析(二四)FSNamesystem

以下轮到FSNamesystem 出场了。 FSNamesystem.java 一共同拥有4573 行。而整个namenode 文件夹下全部的Java 程序总共也仅仅有16876行,把FSNamesystem 搞定了,NameNode 也就基本搞定。FSNamesystem 是NameNode 实际记录信息的地方,保存在FSNamesystem 中的数据有:文件名称数据块列表(存放在FSImage 和日志中)合法的数据块列表(上面关系的逆关系)数据块DataNode(仅仅保存在内存中,依据DataNode 发过来的信息动态建立)DataNode 上保存的数据块(上面关系的逆关系)近期发送过心跳信息的DataNode(LRU)我们先来分析FSNamesystem 的成员变量。 privatprivate boolean isPermissionEnabled;是否打开权限检查。能够通过配置项dfs.permissions 来设置。private UserGroupInformation fsOwner;本地文件的用户文件属主和文件组,能够通过hadoop.job.ugi 设置,假设没有设...

相关文章

发表评论

资源下载

更多资源
Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat

Apache Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse

Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。