数学之路-分布式计算-disco(4)

第一个參数iter是一个迭代器,涉及被map函数产生的键和值。它们是reduce实例。

在本例中。单词随机被托付给不同的reduce实例。然后,要单词同样,处理它的reduce也同样。可确保终于合计是正确的。

第二个參数params与map函数中一致,在此。仅简单使用disco.util.kvgroup()来提取每一个单词统计计数。累计计数,yield(产生)结果。

执行作业

以下開始执行作业。可使用大量參数定制作业,但通常来说。对于简单的任务来说 ,仅使用当中3个就可以。除了启动作业之外,我们还须要输出结果。首先,我们在作业完毕前要等待,通过调用wait等待调用完毕,完毕后会返回结果。为方便起见。通过job对象调用wait及其他相关方法。

result_iterator()函数取结果文件地址列表。它被wait()函数返回,iterates(迭代)遍历全部结果中的键值对。

 

defmap(line, params):

    for word in line.split():

        yield word, 1

 

defreduce(iter, params):

    from disco.util import kvgroup

    for word, counts in kvgroup(sorted(iter)):

        yield word, sum(counts)

 

if__name__ == '__main__':

    job =Job().run(input=["http://discoproject.org/media/text/chekhov.txt"],

                    map=map,

                    reduce=reduce)

    for word, count inresult_iterator(job.wait(show=True)):

        print(word, count)

 

本博客全部内容是原创,假设转载请注明来源

http://blog.csdn.net/myhaspl/


假设一切妥当。可看到作业执行,输入从tagdata:bigtxt中读入,这个是開始时刻创建的终于打印输出,在job执行时,可打开(或执行disco master的端口)。查看作业的实时进程。

python count_words.py

也可在控制台上查看作业进程,例如以下: 

DISCO_EVENTS=1 python count_words.py

正如您所示,创建一个新的迪斯科的工作是相当简单的。你能够在随意数量的方面扩展这个简单的样例。比如,通过使用params对象包含停用词的列表。

假设你把迪斯科分布式文件系统的数据,你能够试试改变输到tag://data:bigtxt。以及加上map_reader =disco.worker.task_io.chain_reader。

你能够试着用sum_combiner(),使job更有效率。

你也能够尝试自己定义功能分区和读取函数,用与map和reduce函数一样的方式编写,然后,你能够试着链接job在一起,以便之前的job输出成为下一个的输入。

disco是设计得尽可能的简单,这样你就能够专注于你自己的问题,而不是框架。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398694.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目管理规范

从鼬加入的那一周开始,四代就开始着手准备起草代码规范了。代码规范不可少很多人理直气壮的认为,创业团队,或者说人数少的团队根本不需要代码规范。他们的口头禅经常是:“没办法啊!我们需要快速的完成客户的需求啊&…

每日一题——王道考研2.2.4.1

1 题目 从顺序表中删除具有最小值的元素(假设唯一),并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。 ——出自王道书2023版2.2.4的第二大题第一小题 2 思路 既然…

23种设计模式----------建造者模式

建造者模式:像是模板方法模式的升级。也叫生成器模式。将一个复杂对象的构造与它的表示分离,使得同样的构建过程可以创建不同的表示。其实就是创建一大类的东西, 但是具体又有些差异。 在建造者模式中,一般有四个角色:…

批处理启动vm虚拟机服务 vm12启动无界面启动vm虚拟机系统 windows上如何操作服务 sc net启动关闭服务...

windows(win10)批处理脚本 打开vm虚拟机的服务,并且开启无界面虚拟机 echo off net start "vds" net start "VMAuthdService" net start "VMnetDHCP" net start "VMware NAT Service" net start "VMUSBArbService" net star…

机器学习的练功心法(二)——概述

2 概述 文章目录2 概述2.1 模型概述2.1.1 预测房价问题2.1.2 符号2.2 代价函数2.3 代价函数的用处2.4 回到问题2.5 梯度下降2.6 梯度下降知识点总结2.7 线性回归模型的梯度下降2.1 模型概述 2.1.1 预测房价问题 在我们要开始下面的问题前,我们先来看一些关于房价预…

努力做一名认真踏实的工程师

以下内容的来源:http://www.dndev.com/cgi-bin/forum/topic.cgi?forum2&topic1209&show0 转抄网上的一个帖子: 1. 不要看到别人的回复,第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人…

Mac openCV环境搭建

安装 Homebrew $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" $ echo export PATH"/usr/local/bin:$PATH" >> ~/.bash_profile $ brew doctor 安装 OpenCV brew install opencv 安装pip sudo easy_…

Jquery对象和DOM对象---Jquery API (1)

文/饥人谷_韩宝亿(简书作者)原文链接:http://www.jianshu.com/p/98a0c82c47e4著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。一、为什么要用Jquery? DOM API 1.难用 要想拿到一个对象&…

Effective STL中文版pdf

下载地址:网盘下载内容简介 STL是C标准库的一部分。本书是针对STL的经验总结,书中列出了50个条款,绝大多数条款都解释了在使用STL时应该注意的某一个方面的问题,并且详尽地分析了问题的来源、解决方案的优劣。转载于:https:…

关于SWT/JFace中其他常用的事件

1.addSelectionListener:这个监听器最常用. 这个addSelectionListener是一个方法,addSelectionListener(SelectionListener listener)传入的是一个 SelectionListener类型的参数对象.SelectionAdapter实现了这个SelectionListener接口. SelectionListener接口中有下面的这个两个…

机器学习的练功心法(三)——特征工程

文章目录致谢3 特征工程3.1 Sklearn工具及数据集3.2 数据集3.3 数据集的划分3.4 特征工程介绍3.4.1 为什么需要特征工程3.4.2 什么是特征工程3.4.3 特征提取3.4.3.1 字典特征提取3.4.3.2 文本特征提取3.4.3.3 中文文本特征提取3.4.3.4 TF-IDF算法3.5 特征预处理3.5.1 特征预处理…

SDWebImage原理(面试)

SDWebImage 加载图片的流程 入口 setImageWithURL:placeholderImage:options: 会先把 placeholderImage 显示,然后 SDWebImageManager 根据 URL 开始处理图片。进入 SDWebImageManager-downloadWithURL:delegate:options:userInfo:,交给 SDImageCache 从…

Win7/8出现An error occurred on the server when processing the URL解决办法

报错:An error occurred on the server when processing the URL. Please contact the system administrator. SJY使用的是win8系统搭建的本地服务器,win7使用的方法是相同的。如果你的系统是精简版的Win7/8,那么安装IIS7也有可能出现这问题。…

数据库杂谈(六)——数据库管理系统

文章目录6 数据库管理系统6.1 数据库管理系统结构简介6.2 进程结构6.2.1 进程的分类6.2.2 线程的由来6.2.3 建立进程的过程6.3 数据目录6 数据库管理系统 6.1 数据库管理系统结构简介 数据库管理系统DBMS是数据库系统的核心。而目前市场上我们接触到的商品化DBMS大多数是关系…

59.排序好的大数据创建索引文件,并实现大文件的二分查找,根据索引百万数据秒读数据...

创建索引 1 //创建索引 2 struct index 3 { 4 //保存每行偏移的位置 5 int *pindex; 6 //文件的总长度 7 int length; 8 }allindex;//索引 初始化索引数组并把索引写入到文件 1 //初始化索引数组,并把索引写入到文件2 void init(char *path)3 {4 printf(&q…

booth算法实现乘法器

booth算法充分的利用到了补码的重要性,使得我们在利用补码进行计算时减少了很多时序。下面的表格是我们假设2 作为乘数所进行的分析。接下来,我将用代码向大家阐述。 1、开始的时候在乘数2的‘负一位’加上一个默认0值00100 2、先判断[0:-1],结果是2‘b0…

OS实验一实验报告

实验一、命令解释程序的编写实验 专业:商业软件工程 姓名:王泽锴 学号:201406114113 一、实验目的 (1)掌握命令解释程序的原理; (2)*掌握简单的DOS调用方法; &#xf…

机器学习的练功方式(四)——KNN算法

文章目录致谢致歉4 KNN算法4.1 sklearn转换器和估计器4.1.1 转换器4.1.2 估计器4.2 KNN算法4.2.1 概述4.2.2 电影类型分析4.2.3 算法实现致谢 闵氏距离_百度百科 (baidu.com) 机器学习之KNN(k近邻)算法详解_平原的博客-CSDN博客_knn 鸢尾花(Iris)数据集_…

bootstrap table入门例子

链接&#xff1a;https://pan.baidu.com/s/1jJ2Y89g 密码&#xff1a;eo7t <!DOCTYPE html> <html> <head><meta charset"utf-8"><link rel"stylesheet" type"text/css" href"lib/bootstrap.min.css">&…

Spring中实现监听的方法

在未使用框架进行编程的时候&#xff0c;我们常常在web.xml中加上这样一段话  <listener><listener-class>XXX</listener-class></listener> 在对应的类中实现ServletContextListener接口&#xff0c;这样在服务器已启动的时候&#xff0c;就会加载相…