【发布时间】:2016-12-13 09:05:39
【问题描述】:
我有一个问题,可能有两种可能的方法来获得解决方案,我对任何一种都持开放态度。
我每天使用第 3 方应用程序将数据下载到 pandas 数据帧中,然后将其写入本地 postgres 数据库。数据框很大,但由于数据库是本地数据库,我只需使用 df.to_sql 即可在几秒钟内完成。
问题是现在我已将数据库移动到远程 linux 服务器 (VPS)。同样的to_sql 现在需要一个多小时。我尝试了 chunksize 的各种值,但这并没有多大帮助。
如果我可以简单地在该远程服务器上安装第 3 方应用程序,这将不是问题,但服务器操作系统不使用 GUI。有没有办法在服务器上运行该第 3 方应用程序,即使它需要 GUI? (注意:它是一个 Windows 应用程序,所以我使用 wine 在我的本地 linux 机器上运行它,并且可能也需要在服务器上执行此操作。
如果无法在 VPS 上运行需要 GUI 的应用程序,那么我应该如何以不超过一个小时的方式将这些数据帧从本地计算机写入 VPS?我希望有一些方法可以将数据帧写成更小的部分,或者使用 to_sql 以外的其他东西更适合这个。
一个非常笨重、不优雅的解决方案是将数据帧写入 csv 文件,使用 ftp 将它们上传到服务器,然后在服务器上运行单独的 python 脚本将数据保存到数据库。我想这可行,但肯定不理想。
【问题讨论】:
标签: python postgresql pandas vps