我正在使用snowflake-sdk和snowflake-promise流式传输结果(以避免在内存中加载太多对象)。
对于每个流式传输的行,我想处理接收到的信息(执行回写的类似 ETL 的作业)。我的代码非常基本,类似于这个简单的雪花承诺示例。
我目前的问题是.on('data', ...)
调用的频率超出了我的处理能力。(我的类似 ETL 的工作跟不上接收到的行,我的数据库连接池执行回写操作已经用尽)。
我尝试将rowStreamHighWaterMark设置为各种值(1、10 [默认]、100、1000、2000 和 4000)以减慢/ backpressure流的速度。可读但不幸的是,它没有改变任何东西。
我错过了什么 ?如何更好地控制何时使用读取数据?