Python部落(www.freelycode.com)翻译, 禁止转载
项目地址
https://github.com/douban/dpark
项目介绍
DPark是Python版的Spark, 一个类似于MapReduce的, 支持交互式计算的计算框架.
下面是一个数单词的例子(wc.py):import dpark
file = dpark.textFile("/tmp/words.txt")words = file.flatMap(lambda x:x.split()).map(lambda x:(x,1))wc = words.reduceByKey(lambda x,y:x+y).collectAsMap()
print wc
这个脚本可以本地运行, 或者不加任何修改地在Mesos集群上运行, 只需要使用不同的命令行参数:$ python wc.py$ python wc.py -m process$ python wc.py -m host[:port]
文件夹examples/里有更多的例子.
更多中文文档在 https://github.com/jackfengji/test_pro/wiki
DPark可以运行在版本大于等于0.9的Mesos上运行.
如果环境变量$MESOS_MASTER被设置了, 你可以通过下面的简写命令来在Mesos上运行DPark.
$ python wc.py -m mesos
$MESOS_MASTER可以是任何Mesos Master主机的地址, 例如
$ export MESOS_MASTER=zk://zk1:2181,zk2:2181,zk3:2181/mesos_master
为了加快洗牌的速度, 你应该把Nginx部署在5055端口, 以便于能够访问到DPARK_WORK_DIR(默认是/tmp/dpark)中的数据,例如:
server { listen 5055; server_name localhost; root /tmp/dpark/;}