运行结构流程序使用云存储桶时(S3,ADLSgen2等)很容易在存取存储桶时发生过量交易
失效指定.触发器流码选择是存储事务多发的一个常见原因何时.触发器未指定选项,存储器可频繁测量紧接在默认完成微批处理后发生
默认行为由官方描述阿帕契触发文件as,“如果未明确说明触发设置,则默认查询将以微批模式执行,即当前微批处理完成后立即生成微批处理。”
样本代码没有.触发器选项定义运行后将导致存储量过多
Pythonspark.readStream.format.writeStream.format .options(**writeConfig).start
可设置.触发程序中选项. writeStream.设置.触发器处理时间短短数秒后无法进行短投票
指令发布
默认行为是检查源量每10ms更新对大多数用户而言,源更新间隔较长不会对性能产生可见效果,但交易成本大为下降
举个例子,让我们用5秒处理500倍慢于10ms存储调用相应减少
设置5秒处理时间需要添加.trigger(processingTime='5 seconds')切入点. writeStream.
举例说,修改我们现有的样本代码以包括.触发器处理时间5秒只需增加一行
Pythonspark.readStream.format.writeStream.format.outputMode("append") .option("checkpointLocation"," .options(**writeConfig).start
你应该实验.触发器处理时间判定优化应用值