Python开发语言迅速进入人们的视线,可以说离不开人工智能的推动,大家都在说python有强大的库,开源的库,今天就以豆瓣为例,唠唠python那些神奇的库。 豆瓣一直是中国Python领域的领军企业, 同时也是开源事业的热心参与者。 总结了一下豆瓣16大开源库,拿走不谢! 1. pymesosMesos调度器和执行者的纯Python实现 2. DParkDpark是国内豆瓣公司根据Spark进行的克隆版本的实现 DPark 是一个类似MapReduce 的基于Mesos(Apache 下的一个集群管理器,提供了有效的、跨分布式应用或框架的资源隔离和共享等功能)的集群并行计算框架(Cluster Computing Framework),DPark 是Spark 的Python克隆版本,是一个Python 实现的分布式计算框架,可以非常方便地实现大规模数据处理和低延时的迭代计算。该计算框架类似于MapReduce,但是比其更灵活,可以用Python 非常方便地进行分布式计算,并且提供了更多的功能,以便更好地进行迭代式计算。DPark 由国内的豆瓣公司开发实现和负责维护,据豆瓣公司的描述,目前豆瓣公司内部的绝大多数数据分析都使用DPark 完成,整个项目也正趋于完善。 3. Paracel带有参数服务器的分布式训练框架, 为很多机器学习问题而设计。 Paracel是一个基于参数服务器通信模型的分布式训练框架。参数服务器可以被理解成一个全局分布式的key-value存储,用来存储待训练的模型。同时,参数服务器还能通过用户定义的update函数进行分布式计算,这时它与mapreduce系统中的reducer很类似。 4. code豆瓣内部的代码管理及部署平台, 可以理解为豆瓣内部的Douban App Engine. 5. greenify使得使用了c代码的Python模块兼容gevent 6. douban-quixote豆瓣版的quixote, 一个Python的Web开发框架 Quixote的优点:简单,Quxiote的全部代码量为7000行左右,而且包含了大量的注释,如果去掉注释,则只有大约2500行代码。这也是我选择Quixote来学习Python的原因,因为你能容易通过阅读代码看到Quxiote做了什么。 高效,这一方面得益于Python语言本身的特点和Quxiote简单的架构,另一方面得益于用PTL模板。 安全,这也得益于Quxiote的简单,使得我们能很好的控制框架,并且它提供了一些HTML输出方法,保证了HTML输出的安全。 7. beansdb一个分布式键值对存储系统. Beansdb的CAP特点表现为: 1)分布式的,伸缩性比较好(P) 2)最终一致的(C),可能出现短时间内的数据不一致。 3)高可用的(A),部分节点出现故障不影响服务。 Beansdb在豆瓣内部有着广泛的使用,比如图片文件、小媒体文件、profile、properties等等。Beansdb不像GFS等分布式存储系统,一般不用于存储百兆以上单位的大数据。 8. misaka一个markdown解析库的Python绑定 9. sina一个git SmartHTTP服务器的WSGI实现 10. libmc一个轻量级的memcached客户端 11. memkeysmemkeys是tumblr开源的类似top的工具,可用于实时查看memcached的key使用情况。 12. brownant一个轻量级的网络数据抽取框架 13. twemproxyTwemproxy 也叫 nutcraker。是 Twtter 开源的一个 Redis 和 Memcache 代理服务器,主要用于管理 Redis 和 Memcached 集群,减少与Cache 服务器直接连接的数量。 14. linguist编程语言监测工具 15. CaoE当父进程死了, 杀死所有的子进程 16. pygit2Pygit2是对libgit2的Python封装,提过简洁的接口访问对象中的各种属性,执行对仓库的各种操作。libgit2是Git的共享程序库,相对于作为一个独立程序应用的Git,libgit2去掉了其中复杂的优化和非核心的功能,更简单,更纯粹。 看完这个列表, 顿时有一种豆瓣把开源产品都Python融化了的感觉。 有没有心旷神怡,如获至宝呢? 这里更多干货,跟多趣事等你来(关注:交大数字研究院) |
|