函数命名空间管理器

注意 目前提供外部数据源函数(外部函数)的注册管理及下推的体验功能,此特性还在开发中,一些接口和配置项在后续的版本中可能会有改动。

函数命名空间管理器介绍

函数命名空间管理器是用来管理外部函数的,各个connector注册的外部函数(当前只支持标量函数)会在此空间管理。 一个函数命名空间表示为 catalog.schema(例如:mysqlfun.default),可以理解为函数定义存储的模式,不过此模式只能用于函数,不支持表或视图之类。 每个函数,不管是built in函数的还是外部注册的外部函数,都属于一个格式为catalog.schema的函数命名空间。 外部类型函数的全引用名为函数命名空间加上函数名(例如:mysqlfun.default.func)。

所有built in函数的使用方式为直接使用函数名,如:select count(*) from ...。外部函数需要使用全引用名,如:select mysqlfun.default.format(...) from ...。 每个函数命名空间管理器与一个catalog关联,并且管理此catalog下的所有函数。 建议不使用实际connector_catalog名称作为函数命名空间管理器catalog

加载函数命名空间管理器

当要加载一个名称为mysqlfun的函数命名空间管理器来管理名称为mysqlfuncatalog下的所有函数, 我们可以添加一个名称为 etc/function-namespace/mysqlfun.properties的文件, 同时,请在文件中写入如下配置内容:

    function-namespace-manager.name=memory
    supported-function-languages=JDBC

当前仅支持类型为memory函数命名空间管理器,memory类型的函数命名空间管理器在系统重启后,需要重新加载外部函数信息。 配置项supported-function-languages表明当前函数命名空间管理器实例支持的外部函数种类,你可以自己定义注册类型,此项参数需要用户定义的外部函数注册信息一致。 当前我们仅支持JDBC

加载多个函数命名空间管理器

当需要管理属于不同catalog的外部函数时,我们需要在etc/function-namespace目录下配置多个文件名不同的文件来加载多个函数命名空间管理器分别管理属于不同catalog的外部函数。

外部函数注册到函数命名空间管理器

当前openLooKeng系统支持通过Jdbc Connector注册外部函数。具体请参考 外部函数注册

外部函数下推到数据源执行

openLooKeng系统支持外部函数通过Jdbc Connector下推到数据源执行。具体请参考 外部函数注册

注意 外部函数仅支持下推到数据源执行。 如果一个外部函数不能下推到数据源,则当前的包含外部函数调用的查询将会失败。

有奖捉虫

“有虫”文档片段

0/500

存在的问题

文档存在风险与错误

● 拼写,格式,无效链接等错误;

● 技术原理、功能、规格等描述和软件不一致,存在错误;

● 原理图、架构图等存在错误;

● 版本号不匹配:文档版本或内容描述和实际软件不一致;

● 对重要数据或系统存在风险的操作,缺少安全提示;

● 排版不美观,影响阅读;

内容描述不清晰

● 描述存在歧义;

● 图形、表格、文字等晦涩难懂;

● 逻辑不清晰,该分类、分项、分步骤的没有给出;

内容获取有困难

● 很难通过搜索引擎,openLooKeng官网,相关博客找到所需内容;

示例代码错误

● 命令、命令参数等错误;

● 命令无法执行或无法完成对应功能;

内容有缺失

● 关键步骤错误或缺失,无法指导用户完成任务,比如安装、配置、部署等;

● 逻辑不清晰,该分类、分项、分步骤的没有给出

● 图形、表格、文字等晦涩难懂

● 缺少必要的前提条件、注意事项等;

● 描述存在歧义

0/500

您对文档的总体满意度

非常不满意
非常满意

请问是什么原因让您参与到这个问题中

您的邮箱

创Issue赢奖品
根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
有奖捉虫