【问题标题】:How to fetch postgres table in parallel using python如何使用python并行获取postgres表
【发布时间】:2018-02-21 08:13:08
【问题描述】:

我有一个名为“order_lines”的表,因为它有近 700 万行,我需要大约 30 分钟才能将其拉出并转储到 csv 中。我希望我是否可以并行拉它以减少使用 python 的加载时间。我的最终目标是在 redshift 中复制它。

有人可以建议在 python 中拉这个表的方法吗?

提前致谢!

【问题讨论】:

标签: python postgresql csv parallel-processing multiprocessing


【解决方案1】:

您可以使用具有管理员权限的以下查询:

COPY (select col1,col2 from your_table) TO 'some_file_location/filename.csv' DELIMITER ',' CSV HEADER;

或者在你的服务器命令提示符下:

psql -U user -d db_name -c "Copy (Select * From your_table) To STDOUT With CSV HEADER DELIMITER ',';" > filename_data.csv

【讨论】:

  • 我想并行提取这个表,例如如果我有 24 个月的数据,我想创建 24 个不同的进程来同时提取数据并将它们合并到一个 csv 中
  • 我建议在您的选择查询中获取月份数据并复制到 csv 文件并使用 pyhton 中的 csv 合并。
猜你喜欢
  • 2012-05-22
  • 2021-08-24
  • 2020-12-27
  • 2021-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-01
相关资源
最近更新 更多