Jug 是一个基于任务的并行处理框架,采用 Python 编写,可用来在不同的机器上运行同一个任务,使用 NFS 做文件系统的通讯;也可在使用同一台服务器的多CPU运行同一任务。

Jug工作原理:

//Todo//

Jug使用小结:

1.使用Jug execute jugfile.py启动并行一个进程,实际上执行如下:

$python /usr/loca/python/bin/jug execute jugfile.py

2.使用jug status jugfile.py查看并行进程的状态,如下图:

运行结束时的并行状态如下:

Task之间可以存在依赖关系,只能是任务之间的依赖,任务的输出结果,无法作为任务的输入,只能把整个任务作为输入。

document = jug.Task(f1,*args,**kwargs)doc = jug.Task(f2, document, *args, **kwargs)

任务返回的结果可以通过jug.task.value/jug.value得到value(task/tasks)

TaskGenerator可以自动指定任务,@TaskGenerator ,Task需要额外的封装代码,

  • 优点:可移植性强,可不依赖于jug运行
  • 缺点:依赖关系不好控制,代码不好维护

注意任务间的同步和异步关系

jug.init/jug.jug.init可以动态加载jug任务模块,并得到任务返回结果

可在代码中控制jug的初始化、加载和运行

jug.init("filedec.py", "dname")

输入:jugfile的文件名,jugdir的路径 输出:store object, jugspace

结果存储方式支持:(基本原理:Key/Value)

  • 文件存储
  • 字典存储
  • redis存储

Jug API参考

[ ] jug[ ] jug.Task[ ] jug.TaskGenerator[ ] jug.value[ ] jug.backends[ ] jug.backends.dict_restore[ ] jug.backends.decode[ ] jug.backends.file_restore[ ] jug.backends.redis_restore[ ] jug.barrier[ ] jug.compound[ ] jug.compound.Task[ ] jug.init[*] jug.jug[ ] jug.jug.check[ ] jug.jug.execute[ ] jug.jug.init[ ] jug.jug.invalidate[ ] jug.mapreduce[ ] jug.mapreduce.map[ ] jug.mapreduce.mapreduce[ ] jug.mapreduce._break_up[ ] jug.task[ ] jug.task.CachedFuntion[ ] jug.task.Task[ ] jug.task.TaskGenerator[ ] jug.task.alltasks[ ] jug.task.topological_sort[ ] jug.task.value[ ] jug.utils[ ] jug.utils.identity[ ] jug.utils.timed_path

相关网站: http://nullege.com/codes/search/jug

http://packages.python.org/Jug/tutorial.html

转载于:https://www.cnblogs.com/oubo/archive/2011/09/19/2394590.html

Jug 并行处理框架相关推荐

  1. Hive数据分析——Spark是一种基于rdd(弹性数据集)的内存分布式并行处理框架,比于Hadoop将大量的中间结果写入HDFS,Spark避免了中间结果的持久化...

    转自:http://blog.csdn.net/wh_springer/article/details/51842496 近十年来,随着Hadoop生态系统的不断完善,Hadoop早已成为大数据事实上 ...

  2. MPP 大规模并行处理框架 简介

    1. 什么是MPP? MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和 ...

  3. Python利用Spark并行处理框架批量判断素数

    方法一: from pyspark import SparkConf, SparkContext conf = SparkConf().setAppName("isPrime") ...

  4. java-forkjoin框架的使用

    ForkJoin是Java7提供的原生多线程并行处理框架,其基本思想是将大任务分割成小任务,最后将小任务聚合起来得到结果.fork是分解的意思, join是收集的意思. 它非常类似于HADOOP提供的 ...

  5. 大数据入门-基础篇01-hadoop框架简介

    声明:本文主要根据八斗学院孙国宇老师的Hadoop大数据实战手册进行的整理,仅限入门学习! 第一章 hadoop简介 Hadoop 是一个由 Apache 基金会所开发的 开源分布式系统基础架构.用户 ...

  6. 并行处理类毕业论文文献有哪些?

    本文是为大家整理的并行处理主题相关的10篇毕业论文文献,包括5篇期刊论文和5篇学位论文,为并行处理选题相关人员撰写毕业论文提供参考. 1.[期刊论文]基于MapReduce并行处理的机电特种设备故障诊 ...

  7. 关于C#中的并行处理

    当我们需要处理大量的数据时,为了能够提高程序的处理速度,我们的做法通常是尽可能的优化算法.然而,当算法不可再优化时,我们就该考虑能否合理的将数据分割成若干个子集,然后去做并行处理.下面是我通过将Exc ...

  8. x265笔记_3_并行处理机制

    文章目录 HEVC中的并行处理技术 功能并行和数据并行 HEVC解码端的并行处理框架 HEVC中编码单元数据之间的依赖关系 HEVC编解码的并行策略 Tile级别的并行策略 CTB级别的并行策略/波前 ...

  9. XGBoost4J-Spark基本原理

    XGBoost4J-Spark基本原理 XGBoost4J-Spark是一个项目,旨在通过使XGBoost适应Apache Spark的MLLIB框架,无缝集成XGBoost和Apache Spark ...

  10. 并发编程中一种经典的分而治之的思想!!

    写在前面 在JDK中,提供了这样一种功能:它能够将复杂的逻辑拆分成一个个简单的逻辑来并行执行,待每个并行执行的逻辑执行完成后,再将各个结果进行汇总,得出最终的结果数据.有点像Hadoop中的MapRe ...

最新文章

  1. 重磅剧透!阿里巴巴计划开源 Nacos,为Dubbo生态发展铺路
  2. Sublime Text 3 中文乱码的解决方法
  3. http:(2):http请求方法
  4. 以太坊私有链 使用dev模式
  5. OpenCV学习笔记(十六):直方图均衡化:equalizeHist()
  6. mysql 命令行可以连接 php不能,mysql连接命令行可以php竟然不可以
  7. JWT(JSON Web Token)的基本原理
  8. python获取每月的最后一天_关于日期:使用Python获取本月的最后一天
  9. PAT1030.——完美数列
  10. transition animation
  11. win10 桌面的的文件都不见了 提示不注销保存都文件都为临时_舒心,享受——win10美化...
  12. nginx集群部署,实现高可用
  13. Java期末考试题(个人押题版)
  14. pytorch 网络结构可视化之netron
  15. no output folder解决方案
  16. SAP中销售订单流程及常用事务 Get the picture
  17. 知乎周源微信_每周源代码7
  18. 入网许可证_入网许可证查询
  19. 波场java-tron3.6 fullnode节点广播交易前的流程分析
  20. 8万字智慧旅游景区信息化建设方案word

热门文章

  1. Python pip freeze获取安装的Python包并使用pip install -r还原到这些包环境(转载)
  2. php+模版取余,PHP取余函数介绍MOD(x,y)与x%y_php技巧
  3. python判断文件后缀_python判断文件夹内是否存在指定后缀文件的实例
  4. mysql碎片处理_mysql优化数据库和mysql数据库碎片处理
  5. python递归函数查询表_python利用递归函数输出嵌套列表的每个元素
  6. 层次聚类算法_机器学习理论(十四)聚类
  7. md4c语言_docsify-demo/c-4操作系统.md at master · lvITStudy/docsify-demo · GitHub
  8. CSS:公共样式(自用)
  9. @Resource 注解和 @Autowired 注解的对比
  10. DataTable多表合并 同结构和不同结构的合并