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

posted on   荣锋亮  阅读(3)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用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 镜像

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示