用于处理大规模三维数据集的spark扩展
pyspark3d的Python项目详细描述
包正在进行活动开发!
最新消息
- [05/2018]gsoc 2018:spark3d已入选2018年谷歌代码之夏(gsoc)。祝贺今年将参与该项目的@mayurdb!
- [2018年6月]release:版本0.1.0,0.1.1
- [07/2018]新位置:spark3D是AstroLab Software的官方项目
- [07/2018]release:版本0.1.3、0.1.4、0.1.5
- [08/2018]release:版本0.2.0,0.2.1(pyspark3d)
- [2018年9月]release:版本0.2.2
- [11/2018]release:版本0.3.0,0.3.1(新数据帧API)
基本原理
spark3d应该被看作是apache spark框架的扩展,更确切地说是spark sql模块,主要关注三维数据集的操作。
为什么要使用spark3d?如果您经常需要重新划分大型空间三维数据集,或执行空间查询(邻居搜索、窗口查询、交叉匹配、群集等),spark3d适合您。它包含优化的类和方法,这样做可以节省您的实现时间!此外,所有这些扩展的一个大优势是通过快速构建数据集的表示来高效地执行大型数据集的可视化(请参阅更多here)。
spark3d公开了两个api:scala(spark3d)和python(pyspark3d)。核心开发是在scala中完成的,并使用很棒的py4j包与python进行接口。这意味着pyspark3d可能不包含spark3d中的所有特性。 另外,由于scala和python的不同,这两个api可能存在细微的差异。
当我们试图坚持最新的apache spark开发时,spark3d从rdd api开始,并缓慢地迁移到使用dataframeapi。这个过程在代码结构上留下了巨大的印记,spark3d中的低级层通常仍然使用rdd来操作数据。不要惊讶,如果事情正在移动,包正在积极的发展,但我们试图保持用户界面尽可能稳定
最后但并非最不重要的一点是:spark3d绝不是完整的,欢迎您提出更改建议、报告bug或不一致的实现,并直接为包做出贡献!
干杯, 朱利安
为什么是3?因为已经有很多很好的软件包处理二维数据集(例如geospark、geomesa、magellan、GeoTrellis等),但这并不适用于天文学等许多应用!
安装和教程
斯卡拉
通过指定坐标,可以将spark3d链接到项目(spark shell或spark submit):
spark-submit --packages "com.github.astrolabsoftware:spark3d_2.11:0.3.0"
Python
只需运行
pip install pyspark3d
注意,我们用它发布了汇编jar。
更多信息
看我们的website!
贡献者
- 朱利安·佩洛顿(佩洛顿在拉尔,in2p3.fr)
- 克里斯蒂安·阿尔诺(Arnault at lal.in2p3.fr)
- Mayur Bhosale(gmail.com上的Mayurdb31)——GSOC 2018。
对spark3d的贡献:请参见CONTRIBUTING。