Planning 阶段 Coordinator 会连接 HMS 查询分区元数据,并调用存储系统 API (HDFS 或 OSS、S3等)获取对应的文件列表,Source 阶段从存储系统扫描。为了加快查询速度,可以分别对元数据及文件进行缓存。
元数据缓存:
- 分区元数据,如果需要强制刷新可以调用 system.flush_metadata_cache,该接口会 invalidate 分区元数据缓存
- 文件列表元数据,如果需要强制刷新可以调用 system.unregister_partition / system.register_partition 这两个 api
文件缓存:
- Stroage Cache
- Rubix 缓存框架目前对阿里云 OSS 兼容不好
- Alluxio Edge(SDK) 方式,不需要部署 Alluxio 服务,也是缓存在 Trino Worker 上