python - Shell + Python 文件读/写问题的并行化
问题描述
我有一个项目,我必须定期使用一个对文件进行一些预处理的 shell 脚本。根据项目要求和遗留原因,必须以这种方式完成 - 我继承了大部分代码。
处理完这些文件后,输出文件将由 Python 脚本进一步处理。
有什么好的方法可以并行运行吗?现在,这就是我的工作流程的样子。
Call shell script, processing thousands of files.
Once finished, call Python script, processing even more files.
Once finished, call SQL script to insert all of these files into a database.
如果可以将一组(一个文件shell --> Python --> SQL)并行化或并行化每个任务(Parallel shell、Parallel Python、Parallel SQL),那就太好了。我读过的所有内容似乎都暗示这是一场后勤噩梦,因为遇到了 R/W 问题。这是真的吗?如果不是正确的方向吗?
解决方案
对于 shell,您可以使用 xargs 并行运行多个进程。
例子:
echo dir1 dir2 dir3 | xargs -P 3 -I NAME tar czf NAME.tar.gz NAME
关键-P
- 说 xargs 运行 3 个并行进程。
对于 python,您可以使用ThreadPoolExecutor!从期货。
对于 SQL 我什么都说不出来,我需要看看你使用的是哪个数据库。
推荐阅读
- python - 矩形选择器和matplotlib图形之间的动态交互
- html - 通过 EXCEL VBA 填写 Web 表单 - 找不到 ID 或任何东西来填写表单
- java - Modelio 类图隔间
- python-3.x - 如何将列表的内容作为字符串获取?
- postgresql - 定期查询 Postgresql 并在 Dashboard 上可视化
- javascript - 如果预填充文本区域,如何显示剩余字符?
- firebase - FIRESTORE:按文档 ID 查询 collectionGroup
- sql - 我如何用英语解释这个?
- python - 使用 lstm 根据前几天的数据预测下一个位置
- python - Pandas 用 NaN 填充时间序列数据框中的缺失数据