首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用python选择一个比内存更大的数据分析框架

使用python选择一个比内存更大的数据分析框架
EN

Stack Overflow用户
提问于 2015-10-14 15:42:57
回答 1查看 1.5K关注 0票数 7

我正在解决一个比内存更大的数据集的问题。原始数据集是一个.csv文件。其中一列用于来自musicbrainz服务的跟踪is。

我已经做了什么

我用达斯克读取达斯克文件,并将其转换为磁盘上的卡斯特拉格式,以获得更高的性能。我还查询了musicbrainz,并使用小淘气填充了sqlite,并给出了一些相关的结果。我选择使用DB而不是另一个dask.dataframe,因为这个过程花费了几天时间,而且我不想在发生任何故障时丢失数据。

我还没有真正开始分析数据。在数据重新整理的过程中,我设法弄得够乱。

当前问题

我很难将这些列从SQL连接到dask /。实际上,我不确定这是否可行。

替代办法

我似乎在为这项任务选择最好的工具时犯了一些错误。卡斯特拉可能还不够成熟,我认为这是问题的一部分。另外,选择SQLAlchemy更好一些,因为它被熊猫使用,而peewee不使用。

Blaze + HDF5可能是dask + castra的良好替代品,主要是因为HDF5比castra更稳定、更成熟/更完整,而blaze对数据存储不那么固执己见。例如,它可以简化SQL DB到主数据集中的连接。

另一方面,我很熟悉熊猫和达克曝光的“相同”API。有了达斯克,我也获得了并行性。

TL;DR

我有一个比内存更大的数据集+ sqlite,我需要加入主数据集。我怀疑是否应该使用dask + castra (不知道dask.dataframe的其他相关数据存储),并使用SQLAlchemy一次将部分SQL加载到熊猫的数据仓库中。我看到的最好的选择是改用blaze + HDF5。在这种情况下你有什么建议?

欢迎任何其他选择/意见。我希望这是足够具体的。

EN

回答 1

Stack Overflow用户

发布于 2015-10-14 16:25:23

在以下几点上,你是正确的:

  • Castra是实验性的和不成熟的。

如果你想要更成熟的东西,你可以考虑HDF5或者CSV (如果你性能慢的话)。Dask.dataframe支持所有这些格式,就像熊猫一样。

  • 还不清楚如何在两种不同的格式(如dask.dataframe和SQL )之间连接。

也许你想用一个或另一个。如果您对将SQL数据读入dask.dataframe感兴趣,则可以使用提出问题。在一般情况下,这一点不难补充。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33129839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档