Spillservice 的场景主要是处理sort ,hash agg 等一些操作,在需要使用本地文件cache的时候

类图

dremio 的Spillservice 简单说明_本地文件



使用Spillservice 服务的模块

主要包含了SpillManager,IncomingBuffers,FragmentExecutor,OperatorContextCreator,DiskRunManager,

OperatorContext,ContextService,MergingCollector,PartitionedCollector,SpoolingRawBatchBuffer,VectorizedHashAggPartitionSpillHandler

BoostBufferManager,总的来说就是对于内存无法容纳的场景就需要进行使用磁盘拆分存储了,结合官方文档以及相关代码我们可以了解使用的是节点

的磁盘同时是基于hdfs扩展的

说明

但从接口实现上比较简单,如果需要完整的串起来就需要结合dremio 的执行过程来学习了,后续尝试串下

参考资料

services/spill/src/main/java/com/dremio/service/spill/SpillService.java

​https://docs.dremio.com/software/advanced-administration/dremio-conf/​