DatasetListingService 从功能上来说主要是处理dremio 集群节点访问datasets 的处理,默认基于namespace 的只能协调节点访问,CatalogService 就依赖DatasetListingService
简单介绍
- 实现类图
从定义以及子类上,可以看出,主要还是获取namespace 包含的source (核心是获取服务)
DatasetListingServiceImpl 主要算是一个普通实现(从功能上来说应该是master 节点的主要使用),DatasetListingInvoker 则是对于非master 协调节点的适配,如果非master 协调节点,则使用阻塞的fabricrpc 进行获取数据,获取的数据是SourceConfig 类型的(rpc 代码生成的类) - SourceConfig包含的属性
这个也是我们经常在使用dremio 添加源看到的一些信息,后续会详细介绍
参考资料
services/namespace/target/generated-sources/protostuff/com/dremio/service/namespace/source/proto/SourceConfig.java
services/namespace/src/main/java/com/dremio/service/listing/DatasetListingInvoker.java
services/namespace/src/main/java/com/dremio/service/listing/DatasetListingServiceImpl.java