Catalog的种类

框架中的Catalog

在MEF框架中,包含了4种Catalog,所有的Catalog的是从System.ComponentModel.Composition.Primitives名称空间下的ComposablePartCatalog抽象类派生下来。

继承层次结构

  • AssemblyCatalog:表示从程序集中搜索部件的目录。
  • DirectoryCatalog:表示从文件系统的指定路径中,搜索程序集,从而搜索部件。
  • TypeCatalog:表示从指定的类型集合中,去搜索相应的部件。
  • AggregateCatalog:聚合目录,可以添加上面所说的所有目录,从而进行多方面的部件搜索。

那么再看下第一天的例子

    var catalog = new AssemblyCatalog(typeof(Program).Assembly);   //从程序集中搜索部件,应该指的就是目录下的DLL吧
        _container = new CompositionContainer(catalog);

三、自定义Catalog

虽然MEF提供了4种Catalog已经能满足我们很多需求,但也并非所有时候都尽如人意。如果无法满足,我们可以通过自定义Catalog来完成我们所需要的部件搜索。

自定义Catalog和系统实现的Catalog类似,我们通过继承System.ComponentModel.Composition.Primitives空间下的ComposablePartCatalog类,并且覆写掉基类的方法即可。

image

上图是ComposablePartCatalog类中提供的方法,我们要实现自己的Catalog,必须要覆写掉Parts属性,如有特别需要处理的,我们还可以覆写GetExports方法,此方法默认的调用了Parts属性,进行进一步的输出。

 

http://www.cnblogs.com/prinsun/tag/MEF/

 

 

### StarRocks 中 Catalog 的概念与配置 #### 什么是 Catalog? 在 StarRocks 中,Catalog 是用于管理数据库和表元数据的逻辑容器。它允许用户在一个集群中定义多个外部数据源,并通过统一的方式访问这些数据源中的数据[^1]。需要注意的是,默认情况下,StarRocks 提供了一个内部 Catalog,称为 `default_catalog`,它是不可删除的。 #### 如何查看当前可用的 Catalogs? 可以通过以下 SQL 命令来查询当前已注册的 Catalog 列表: ```sql SHOW CATALOGS; ``` 此命令会返回所有已经创建并注册到 StarRocks 集群中的 Catalog 名称及其相关信息。 #### 创建新的 External Catalog 除了默认的 Internal Catalog 外,还可以创建 External Catalog 来连接其他类型的存储系统(如 Hive 或 Iceberg)。以下是创建一个 External Catalog 的通用语法: ```sql CREATE EXTERNAL CATALOG catalog_name PROPERTIES ( "key1" = "value1", "key2" = "value2" ); ``` 具体属性取决于目标数据源类型。例如,如果要连接到 Hive,则需要指定如下参数: - `"hive.metastore.uris"`:Hive Metastore URI 地址。 - 可选参数还包括 Kerberos 认证等相关设置。 对于不同种类的数据源,其 PROPERTIES 字段会有差异,请参照官方文档获取更详细的指导。 #### 使用特定 Catalog 下的操作 当执行某些操作时可能希望切换至某个具体的 Catalog 上下文中工作。可以利用 USE STATEMENT 实现这一点: ```sql USE catalog_name.db_name; ``` 这样就可以针对选定目录下的某数据库开展进一步活动了,比如建表、查询等动作都会基于这个上下文环境来进行处理。 #### 删除 External Catalog (仅限于外部) 由于无法移除内置的标准选项即 Default_Catalog ,所以这里讨论如何销毁自定义建立起来之外部实例 。采用 DROP COMMAND 完成这项任务 : ```sql DROP CATALOG catalog_name; ``` 这将彻底消除关联的所有记录以及链接设定等内容项。 --- ### 注意事项 尽管能够自由增删改查各类 external catalogs ,但是 internal ones 却受到严格保护机制制约而不能被随意处置掉 . ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值