我发现炽热的生态系统*令人惊讶,因为它涵盖了大多数数据工程用例。在2015年至2016年期间,这些项目肯定引起了人们的极大兴趣,但最近却被忽略了。我说这是看github仓库上的提交。
所以我对社区的问题是
炽热的生态系统:
答案 0 :(得分:1)
我可以提供图片的一部分,尽管其他部分涉及更多。 Blaze既是一个伞形项目,用于将数据工程的思想孵化到已发布的oss软件包中,又一个软件包本身专注于数据帧的符号操作,并将其转换为各种后端执行引擎,尤其是数据库服务。至关重要的是,Blaze希望成为解决各种问题的(一个开始)解决方案!尤其是,翻译层变得非常庞大且难以维护,并且通过尝试迎合所有人的需求,限制了符号层可以提供的操作范围。
就伞项目而言,Blaze是成功的。始于Blaze的许多想法渗透到了生态系统中。可能来自Blaze的最杰出的单个项目是Dask,它最初计划作为Blaze的执行层,但它实现了更大的数据帧操作API,以及其他高级集合和任意图操作。达斯克甚至存在完全的符号优化,尽管这可能还不完整。其他Anaconda稳定的项目(例如numba和bokeh)也受到Blaze努力的影响,但我在这里不再赘述。
就datashape / dynd而言,这是一个与其他许多相关项目(xnd,uarray等)和想法相对拥挤的空间,这些想法可以被轻松地认为是“ numpy 2”(即,更全面,更灵活的表示形式)复杂的数据布局及其说明)。社区尚未真正采用这种方法,几乎所有东西都使用numpy的类型系统(值得注意的是内部箭头的作用除外)。
最后,对于数据格式和Odo,我建议您考虑使用Intake,它看起来像是继任者,可以提供更多功能,例如数据源编目,并且它通过限制范围来实现。操作到读取端。 Odo是一个庞大的交互网络,这也是一个难以维护的多对多问题,并且通过简化操作,Intake希望成为数据加载库和描述位置的主要方式的事实层,数据描述和参数化。不过,Odo还没有死,因此,如果文件转换正是您所需要的,您仍然可以使用它。
答案 1 :(得分:0)
我一直在寻找类似于odo的项目,用于将csv数据加载到各种来源。建议使用https://github.com/blaze/odo/issues/614的odo问题(d6tstack),该问题似乎正在维护中。
在实践中,滚动自己的csv加载程序通常很容易,在这种情况下,tableschema项目非常方便。它可以自动从csv文件中提取inferring数据类型。