小编sim*_*omo的帖子

如何使 pandas HDFStore 的“放置”操作更快

我正在尝试使用 pandas、hdf5 构建 ETL 工具包。

我的计划是

  1. 从 mysql 中提取表到 DataFrame;
  2. 将此 DataFrame 放入 HDFStore 中;

但是当我执行步骤 2 时,我发现将数据帧放入 *.h5 文件会花费太多时间。

  • 源mysql服务器中表的大小:498MB
    • 52列
    • 924,624 条记录
  • 将数据帧放入后 *.h5 文件的大小:513MB
    • “put”操作花费 849.345677137 秒

我的问题是:
这个时间成本正常吗?
有什么办法可以让它更快吗?


更新1

谢谢杰夫

  • 我的代码非常简单:

    extract_store = HDFStore('extract_store.h5')
    extract_store['df_staff'] = df_staff

  • 当我尝试“ptdump -av file.h5”时,出现错误,但我仍然可以从此 h5 文件加载数据帧对象:

Tables.Exceptions.HDF5ExtError:HDF5 错误回溯

文件“../../../src/H5F.c”,第 1512 行,在 H5Fopen 中
无法打开文件 文件“../../../src/H5F.c”,第 1307 行,在 H5F_open 中
无法读取超级块文件“../../../src/H5Fsuper.c”,第 305 行,在 H5F_super_read 中
无法找到文件签名文件“../../../src/H5Fsuper.c”,第153行,在H5F_locate_signature中
找不到有效的文件签名

HDF5 错误回溯结束

无法打开/创建文件“extract_store.h5”

  • 其他一些信息:
    • 熊猫版本:'0.10.0'
    • 操作系统:ubuntu服务器10.04 x86_64
    • CPU: 8 * Intel(R) Xeon(R) CPU …

python pandas

3
推荐指数
1
解决办法
4268
查看次数

Mac OSX JetBrains Gogland:深入调试遇到"无法启动进程:无法fork/exec"

我在Mac OS上使用JetBrains Gogland 1.0 EAP,一切运行良好,但调试(基于钻孔)会引发错误

could not launch process: could not fork/exec
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

jetbrains-ide intellij-idea go goland

2
推荐指数
1
解决办法
5212
查看次数

标签 统计

go ×1

goland ×1

intellij-idea ×1

jetbrains-ide ×1

pandas ×1

python ×1