dremio FileDatasetHandle 简单说明
FileDatasetHandle 是DatasetHandle的扩展,核心是对于文件系统类的处理(dremio 对于文件系统的支持主要是基于hdfs)
同时支持对于不同表格式的处理(delta lake,iceber,parquet),单独说明FileDatasetHandle主要是因为此实现比较重要
dremio 不少文件的处理都和此有关联
FileDatasetHandle的一些功能
- 配置选项
关于支持的最大文件数,excel 文件数。。。 - 获取数据集的元数据getDatasetMetadata
- 获取分片的chunks listPartitionChunks
- 签名信息 provideSignature
- 工具类checkMaxFiles(只有在外部存储的时候需要),getMaxFilesLimit (每个格式插件有自己的限制,默认应该使用格式插件的,只有在不能确定格式的时候使用),checkMultifileStatus(检查文件是否自上次去读之后有变动,基于了缓存以及FileSystem 的getFileAttributes 进行对比)
- 元数据校验 metadataValid
子类
可以看出不少关于湖仓表格式的都实现了此接口
使用的类
- HomeFileSystemStoragePlugin
- FormatPlugin
- CatalogImpl
- MFunctionVersionedSourceMetadata
- FileSystemPlugin
- EasyFormatPlugin
- AccelerationStoragePlugin
说明
dremio 对于文件系统的表格式读取,不少都会使用到FileDatasetHandle的一些特定子类,了解FileDatasetHandle的一些功能还是比较有意义的
参考资料
connector/src/main/java/com/dremio/connector/metadata/DatasetHandle.java
sabot/kernel/src/main/java/com/dremio/exec/store/dfs/FileDatasetHandle.java
sabot/kernel/src/main/java/com/dremio/exec/store/dfs/FormatPlugin.java
dac/backend/src/main/java/com/dremio/dac/homefiles/HomeFileSystemStoragePlugin.java
services/accelerator/src/main/java/com/dremio/service/reflection/materialization/AccelerationStoragePlugin.java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2022-02-21 codefever git 协议处理简单说明
2022-02-21 openresty net::ERR_HTTP2_SERVER_REFUSED_STREAM 问题参考解决方法-续
2022-02-21 codefever蒲公英团队开源的git server
2022-02-21 dremio 连接gitbase
2022-02-21 openresty net::ERR_HTTP2_SERVER_REFUSED_STREAM 问题参考解决方法
2021-02-21 markojs ebay开源的支持基于html+组件化web app的框架
2020-02-21 pgspider clickhouse fdw docker 镜像