Hey Han,
从你的描述来看,DPark 确实会比PySpark 更为合适一些,如果你们想深入了解其实现机制甚至根据自己的需要进行扩展。
PySpark 挺像Hadoop Streaming,
计算框架是Scala实现的(主要是计算模型,调度器,Shuffle,缓存等),PySpark 的大部分代码是序列化以及调用Java
API等。我最近在做一些性能优化以及改进对大规模数据的支持(比如单个任务的数据了超过内存规模时)。
DPark 跟 PySpark
相比互有优劣,如果它们能够保持兼容的API,用户选择和切换起来将会更容易。目前PySpark的API已经比较稳定(而且是开发时的重点注意事项),稳定也比较全面,让DPark
来兼容PySpark的API会更好一些。
DPark 在 MooseFS 和 Mesos 上运行得挺好,但对Hadoop以及各种云设施等基本没有支持,以后可以加强这块。
借助Python语言最近几年的进展,将DPark 和
PySpark的性能再提高几倍也是很有吸引力的,目前有多个选择,比如用Cython重新实现性能相关组件,使用PyPy,或者是使用numba等得JIT支持。这几个都值得尝试,最后哪个更合适还不知道。
Davies
--
- Davies