Jug 并行处理框架
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 并行处理框架相关推荐
- Hive数据分析——Spark是一种基于rdd(弹性数据集)的内存分布式并行处理框架,比于Hadoop将大量的中间结果写入HDFS,Spark避免了中间结果的持久化...
转自:http://blog.csdn.net/wh_springer/article/details/51842496 近十年来,随着Hadoop生态系统的不断完善,Hadoop早已成为大数据事实上 ...
- MPP 大规模并行处理框架 简介
1. 什么是MPP? MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和 ...
- Python利用Spark并行处理框架批量判断素数
方法一: from pyspark import SparkConf, SparkContext conf = SparkConf().setAppName("isPrime") ...
- java-forkjoin框架的使用
ForkJoin是Java7提供的原生多线程并行处理框架,其基本思想是将大任务分割成小任务,最后将小任务聚合起来得到结果.fork是分解的意思, join是收集的意思. 它非常类似于HADOOP提供的 ...
- 大数据入门-基础篇01-hadoop框架简介
声明:本文主要根据八斗学院孙国宇老师的Hadoop大数据实战手册进行的整理,仅限入门学习! 第一章 hadoop简介 Hadoop 是一个由 Apache 基金会所开发的 开源分布式系统基础架构.用户 ...
- 并行处理类毕业论文文献有哪些?
本文是为大家整理的并行处理主题相关的10篇毕业论文文献,包括5篇期刊论文和5篇学位论文,为并行处理选题相关人员撰写毕业论文提供参考. 1.[期刊论文]基于MapReduce并行处理的机电特种设备故障诊 ...
- 关于C#中的并行处理
当我们需要处理大量的数据时,为了能够提高程序的处理速度,我们的做法通常是尽可能的优化算法.然而,当算法不可再优化时,我们就该考虑能否合理的将数据分割成若干个子集,然后去做并行处理.下面是我通过将Exc ...
- x265笔记_3_并行处理机制
文章目录 HEVC中的并行处理技术 功能并行和数据并行 HEVC解码端的并行处理框架 HEVC中编码单元数据之间的依赖关系 HEVC编解码的并行策略 Tile级别的并行策略 CTB级别的并行策略/波前 ...
- XGBoost4J-Spark基本原理
XGBoost4J-Spark基本原理 XGBoost4J-Spark是一个项目,旨在通过使XGBoost适应Apache Spark的MLLIB框架,无缝集成XGBoost和Apache Spark ...
- 并发编程中一种经典的分而治之的思想!!
写在前面 在JDK中,提供了这样一种功能:它能够将复杂的逻辑拆分成一个个简单的逻辑来并行执行,待每个并行执行的逻辑执行完成后,再将各个结果进行汇总,得出最终的结果数据.有点像Hadoop中的MapRe ...
最新文章
- 重磅剧透!阿里巴巴计划开源 Nacos,为Dubbo生态发展铺路
- Sublime Text 3 中文乱码的解决方法
- http:(2):http请求方法
- 以太坊私有链 使用dev模式
- OpenCV学习笔记(十六):直方图均衡化:equalizeHist()
- mysql 命令行可以连接 php不能,mysql连接命令行可以php竟然不可以
- JWT(JSON Web Token)的基本原理
- python获取每月的最后一天_关于日期:使用Python获取本月的最后一天
- PAT1030.——完美数列
- transition animation
- win10 桌面的的文件都不见了 提示不注销保存都文件都为临时_舒心,享受——win10美化...
- nginx集群部署,实现高可用
- Java期末考试题(个人押题版)
- pytorch 网络结构可视化之netron
- no output folder解决方案
- SAP中销售订单流程及常用事务 Get the picture
- 知乎周源微信_每周源代码7
- 入网许可证_入网许可证查询
- 波场java-tron3.6 fullnode节点广播交易前的流程分析
- 8万字智慧旅游景区信息化建设方案word
热门文章
- Python pip freeze获取安装的Python包并使用pip install -r还原到这些包环境(转载)
- php+模版取余,PHP取余函数介绍MOD(x,y)与x%y_php技巧
- python判断文件后缀_python判断文件夹内是否存在指定后缀文件的实例
- mysql碎片处理_mysql优化数据库和mysql数据库碎片处理
- python递归函数查询表_python利用递归函数输出嵌套列表的每个元素
- 层次聚类算法_机器学习理论(十四)聚类
- md4c语言_docsify-demo/c-4操作系统.md at master · lvITStudy/docsify-demo · GitHub
- CSS:公共样式(自用)
- @Resource 注解和 @Autowired 注解的对比
- DataTable多表合并 同结构和不同结构的合并