我有一个 ETL 程序,将会按顺序实现如下功能:
- 从数据源读取数据
- 对数据进行脱敏
- 对数据进行清洗
- 分析每一条数据的情感
- 数据存入中间表
其中,第 4 步是使用 requests 来发送 post 请求到一个 NLP 分析接口实现的。现在由于数据量增加,第 4 步的网络请求成为了瓶颈,因此希望把第 4 步改成 aiohttp.
但是,由于 aiohttp 需要使用 async/await, 如果从 0 开始的话,要加入事件循环,每个相关的函数也要改为 async def 来定义,而且也难以使用 class。
单独从 0 开始使用 async/await 重写这个 ETL 程序当然没有问题,但是有没有办法以最小的代码修改量替换第 4 步操作?最好能实现 1235 步的代码都不需要改动。