diff --git a/docs/zh/app_ecosystem/feature_platform/concept.md b/docs/zh/app_ecosystem/feature_platform/concept.md deleted file mode 100644 index 21b8361a1ad..00000000000 --- a/docs/zh/app_ecosystem/feature_platform/concept.md +++ /dev/null @@ -1,35 +0,0 @@ -# 简介 - -OpenMLDB特征平台是一个先进的特征存储(Feature Store)服务,基于[OpenMLDB](https://github.com/4paradigm/OpenMLDB)实现高效的特征管理和编排。 使用简便的UI界面,用户可以进行机器学习特征开发的全流程,包括数据的导入、查看、编辑,特征的生成、存储、管理等。 在离线场景中,用户可以选择特征生成离线样本用于后续的机器学习开发;在在线场景中,用户可以选择特征创建特征服务,实现实时特征计算。同时,平台提供多种SQL开发工具,方便用户开发适用于OpenMLDB的特征生成SQL。 - -![fep](../images/fep_screenshot.png) - -OpenMLDB特征平台的主要目的是解决在机器学习项目中常见的问题,包括: -- 特征工程自动化:为特征提取、转换、组合和选择提供工具和自动化功能,帮助数据科学家更高效地进行特征工程。 -- 特征重用和共享:特征平台允许共享和重复使用已开发特征,提高开发效率和模型的一致性。 -- 版本控制:对特征进行跟踪和管理,包括不同版本的特征,方便追溯特征的演化历史和对模型性能的影响。 -- 数据一致性和可靠性:确保在训练和推理过程中使用的特征数据的一致和可靠。 - -## 主要功能 -目前,OpenMLDB特征平台包括以下几个主要功能: -- 特征存储:用于存储原始特征数据和派生特征数据的存储系统。 -- 特征工程和预处理功能:用于自动化特征处理和工程化的工具和功能。 -- 离线场景:使用分布式计算,对离线数据进行特征计算并导出机器学习所需的样本文件。同时提供离线样本,离线任务管理功能。 -- 在线场景:上线特征服务,使用在线数据提供硬实时的在线特征抽取接口。 -- 高级用法-SQL实验室:可以执行任意的OpenMLDB SQL语句,在线模式下会请求在线数据库,可进行在线数据的增删改查;离线模式下会提交分布式执行的 SQL,可进行离线探索或样本生成。 -- 高级用法-预计算特征:用户可以通过预计算把特征值直接存入OpenMLDB在线表中,然后访问在线表数据进行读写特征。 - -## 基本使用流程 -特征平台的基本使用流程包括以下的几个步骤: -1. 导入数据:使用SQL命令或前端表单进行创建数据库、创建数据表、导入在线数据和导入离线数据等操作。 -2. 创建特征:使用SQL语句来定义特征视图,特征平台使用SQL编译器进行特征分析并创建对应的特征。 -3. 离线场景:选择想要导入的特征,可以同时选择不同特征视图的特征,并使用分布式计算把样本文件导入到本地或分布式存储。 -3. 在线场景:选择想要上线的特征,一键发布成在线特征抽取服务,然后可使用HTTP客户端进行请求和返回在线特征抽取结果。 - -## 核心概念 -* 特征:通过对原始数据进行特征抽取得到的可直接用于模型训练和推理的数据 -* 特征视图:通过单个SQL计算语句定义的一组特征 -* 数据表:在OpenMLDB中数据表包括能实时查询的在线存储以及支持分布式的离线存储 -* 在线场景:通过上线特征服务,使用在线数据提供硬实时的在线特征抽取接口 -* 离线场景:使用分布式计算,对离线数据进行特征计算并导出机器学习所需的样本文件 -* 在线离线一致性:通过相同的SQL定义可保证在线场景和离线场景计算的特征结果一致 diff --git a/docs/zh/app_ecosystem/feature_platform/functions.md b/docs/zh/app_ecosystem/feature_platform/functions.md deleted file mode 100644 index 389ef0c8aea..00000000000 --- a/docs/zh/app_ecosystem/feature_platform/functions.md +++ /dev/null @@ -1,59 +0,0 @@ -# 功能详解 - -特征平台支持在线场景和离线场景的使用。基本使用流程如下: -1. 使用任意网页浏览器访问特征平台服务地址 http://127.0.0.1:8888/ 。 -2. 导入数据:使用 SQL 命令或前端表单进行创建数据库、创建数据表、导入在线数据和导入离线数据等操作。 -3. 创建特征:使用 SQL 语句来定义特征视图,特征平台将使用 SQL 编译器进行特征分析并创建对应的特征。 -4. 离线场景:选择想要导入的特征,可以同时选择不同特征视图的特征,并使用分布式计算把样本文件导入到本地或分布式存储。 -5. 在线场景:选择想要上线的特征,一键发布成在线特征抽取服务,然后可使用 HTTP 客户端进行请求和返回在线特征抽取结果。 - -以下我们将逐一介绍每个模块的具体信息和使用方法。 - -## 数据导入 -特征平台的数据导入功能包含以下几个功能操作: -1. 创建数据库:创建新的数据库。同时可查看已创建的数据库及详情。 -2. 创建数据表:用户可以选择手动创建,或者通过SQL、parquet或hive方式创建数据表。同时可查看已创建的数据库及包含的数据表。 -3. 导入数据:用户可根据不同在离线需求导入对应数据。 - -- 在线数据:用户可选择使用SQL导入,或者通过parquet、csv或hive方式导入。也可手动插入单行数据到在线数据库中。 - -- 离线数据:用户可选择使用SQL导入,或者通过parquet、csv或hive方式导入。主要区别为OpenMLDB执行模式不同。 - -## 创建特征 -数据准备完成后,用户可选择在线或离线场景创建特征。用户可从“管理中心-特征-所有特征”处点加号创建新的特征,如下图所示。或者从在离线场景的“选择特征”处创建特征。 -![cf_entry](../images/create_fe_entry.png) - -用户需要填写特征视图名,数据库名,和SQL语句。可查看“SQL使用案例”和使用“[可视化SQL工具](#可视化sql工具)”方便SQL的填写。每个SQL对应一个特征视图,点击”分析SQL”,系统将会自动分析出 SQL 对应的特征数量和类型。点击“提交”完成特征视图的创建。 - -## 离线场景使用流程 -离线场景是使用分布式计算,对离线数据进行特征计算并导出机器学习所需的样本文件。在完成数据导入和特征创建之后,用户可以选择特征来导出离线样本。 - - -## 在线场景使用流程 -在线场景是上线特征服务,使用在线数据提供硬实时的在线特征抽取接口。在完成数据导入和特征创建之后,用户可以选择特征来创建特征服务。 - -同时此界面提供特征服务测试功能,用户可使用该界面进行测试。 - -## 高级用法 - -### SQL实验室 -SQL实验室提供OpenMLDB SQL语句的执行能力。 在线模式下会请求在线数据库,可进行在线数据的增删改查。 -离线模式下会提交分布式执行的SQL,可进行离线探索或样本生成。 - -### 预计算特征 -用户可以通过预计算把特征值直接存入OpenMLDB在线表中,然后访问在线表数据进行读写特征。如果需要实现更复杂的特征计算逻辑,可以通过命令行或SDK来编写OpenMLDB SQL实现。 - -### 可视化SQL工具 -由于OpenMLDB目前仅支持单条SQL语句生成特征组,我们提供了一个可视化的SQL工具,来方便用户通过拖拉拽SQL算子将多条SQL语句通过`WITH`语句生成一条复杂的SQL语句。 - -可视化SQL工具的入口在创建特征页面中,如下图所示: -![sql_tool](../images/sql_tool_entry.png) - -使用SQL工具拖拽算子、连接、填入SQL后,可点击“预览生成SQL”生成对应的复杂SQL。如下图所示: -![sql_tool_tutorial](../images/sql_tool_tutorial.png) - -### 管理中心 -特征平台提供了对于数据表,特征,任务以及服务的管理功能。用户可以在管理中心查看和管理相关资源。目前支持查看和管理的资源如下: -- 特征:查看目前已创建的特征视图以及其中的单个特征。具体信息包括名称、对应数据库、SQL、依赖表等。 -- 数据表:查看目前已创建的数据库及数据表。数据表的具体信息包括schema、关联特征视图、关联特征服务等。 -- 离线样本:查看已导出的离线样本信息。具体信息包括特征名、导出路径、SQL、相关联的离线任务状态、日志等。 -- 离线任务:查看运行中/已运行的离线任务。具体信息包括任务类型、状态、运行日志等。 -- 特征服务:查看已上线的特征服务。具体信息包括版本、特征名、SQL、Deployment、相关联的特征及依赖表等。并提供服务测试界面。 \ No newline at end of file diff --git a/docs/zh/app_ecosystem/feature_platform/functions/computed_features.md b/docs/zh/app_ecosystem/feature_platform/functions/computed_features.md new file mode 100644 index 00000000000..e64625c16f9 --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/functions/computed_features.md @@ -0,0 +1,23 @@ +# 预计算特征 + +## 介绍 + +用户可以通过预计算把特征值直接存入OpenMLDB在线表中,然后访问在线表数据进行读写特征。 + +OpenMLDB 提供了类似 Redis 的内存数据索引查询功能,可以快速高效得提取预先计算好的特征值,这个功能也和传统 Feature Store 的在线存储实现类似,但如果特征抽取逻辑修改了也需要在外部的预计算逻辑上提前修改。 + +![](../images/computed_feature_page.png) + +## 预览样本特征 + +用户可以直接选择特征表,然后选择需要提取的特征列,点击“预览样本特征”即可进行特征的预览。 + +![](../images/computed_feature_sample.png) + +注意,如果需要实现更复杂的特征计算逻辑,例如对特征列进行表达式计算,可以通过命令行或 SDK 来编写 OpenMLDB SQL 实现。 + +## 通过索引过滤 + +用户除了预览随机的样本特征,还可以通过数据表的索引来检索。首先选择表内包含的索引,如果想通过其他索引方式查询则可以使用 SQL 来创建新的索引,然后根据索引填写对应的值,这样就可以实现精确的预计算特征检索了。 + +![](../images/computed_feature_with_index.png) diff --git a/docs/zh/app_ecosystem/feature_platform/functions/import_data.md b/docs/zh/app_ecosystem/feature_platform/functions/import_data.md new file mode 100644 index 00000000000..106cf2092c7 --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/functions/import_data.md @@ -0,0 +1,110 @@ + +# 数据导入 + +## 介绍 + +OpenMLDB 特征平台在前端支持数据导入相关功能,功能如下: + +* 数据库管理 + * 创建数据库 + * 查看数据库 + * 删除数据库 +* 数据表管理 + * 创建数据表 + * 查看数据表 + * 删除数据表 +* 数据导入 + * 在线数据导入 + * 离线数据导入 + +用户可以在此页面完成特征工程需要的所有在线和离线数据表的创建和导入。 + +![](../images/import_data.png) + +## 创建数据库 + +在创建数据库页面,可以通过点击“创建数据库”按钮来创建新的数据库,只需要输入不重复的数据库名即可。 + +![](../images/create_database_form.png) + +在同一个页面展示了 OpenMLDB 的所有数据库列表,可以通过列表来查看数据库名称和执行删除操作。 + +![](../images/database_list.png) + +点击数据库名称,还可以查看数据库内详情,包括该数据库下所有数据表,还能进一步点击查看数据表详情。 + +![](../images/database_detail.png) + +## 创建数据表 + +在创建数据表页面,包含了“创建数据表”、“使用 SQL 创建表”、“使用 Parquet 创建表”和“使用 Hive 创建表”四种功能。 + +选择“创建数据表”按钮,只需要填写表名以及每一列的字段名和类型即可,简单易用但限制是无法直接指定索引。 + +![](../images/create_table_form.png) + +选择“使用 SQL 创建表”按钮,用户可以输入 SQL 语句来创建数据表,灵活性最强并且可以指定索引。 + +![](../images/create_table_from_sql.png) + +选择“使用 Parquet 创建表”按钮,用户可以输入 Parquet 文件路径来创建数据表,同样无法指定索引。 + +![](../images/create_table_from_parquet.png) + +选择“使用 Hive 创建表”按钮,用户可以输入 Hive 表名来创建数据表,同样无法指定索引。 + +![](../images/create_table_from_hive.png) + +在同一个页面展示了 OpenMLDB 的所有数据表列表,可以通过列表来查看数据表名称和执行删除操作。 + +![](../images/table_list.png) + +点击数据库名称,可以参看数据库详情,点击数据表名称,则查看数据表的详情信息,并且可以在详情页快速预览在线表的数据。 + +![](../images/table_detail.png) + +## 导入在线数据 + +在导入在线表页面,包含了“使用 SQL 导入”、“插入单行数据”、“使用 Parquet 导入”、“使用 CSV 导入”和“使用 Hive 导入”的五种功能。 + +选择“使用 SQL 导入”, 用户可以执行任意的“INSERT”或“LOAD DATA”语句来导入数据。 + +![](../images/import_online_from_sql.png) + +选择“插入单行数据”,用户可以手动输入单行数据来导入数据。 + +![](../images/import_online_from_insert.png) + +选择“使用 Parquet 导入”,用户可以输入 Parquet 文件路径来导入数据。 + +![](../images/import_online_from_parquet.png) + +选择”使用 CSV 导入”,用户可以输入 CSV 文件路径来导入数据。 + +![](../images/import_online_from_csv.png) + +选择“使用 Hive 导入”,用户可以输入 Hive 表名来导入数据。 + +![](../images/import_online_from_hive.png) + +## 导入离线数据 + +导入离线数据功能和导入在线数据功能类似,但暂时不支持插入单行离线数据,并且所有的导入任务都会切换到离线模式执行。 + +在导入离线表页面,包含了“使用 SQL 导入”、“使用 Parquet 导入”、“使用 CSV 导入”和“使用 Hive 导入”的四种功能。 + +选择“使用 SQL 导入”, 用户可以执行任意的“INSERT”或“LOAD DATA”语句来导入数据。 + +![](../images/import_offline_from_sql.png) + +选择“使用 Parquet 导入”,用户可以输入 Parquet 文件路径来导入数据。 + +![](../images/import_offline_from_parquet.png) + +选择”使用 CSV 导入”,用户可以输入 CSV 文件路径来导入数据。 + +![](../images/import_offline_from_csv.png) + +选择“使用 Hive 导入”,用户可以输入 Hive 表名来导入数据。 + +![](../images/import_offline_from_hive.png) diff --git a/docs/zh/app_ecosystem/feature_platform/functions/index.rst b/docs/zh/app_ecosystem/feature_platform/functions/index.rst new file mode 100644 index 00000000000..26d65eace5d --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/functions/index.rst @@ -0,0 +1,17 @@ +============================= +功能列表 +============================= + +.. toctree:: + :maxdepth: 1 + + import_data + manage_feature + online_scenario + offline_scenario + sql_playground + manage_center + computed_features + + sql_tool + diff --git a/docs/zh/app_ecosystem/feature_platform/functions/manage_center.md b/docs/zh/app_ecosystem/feature_platform/functions/manage_center.md new file mode 100644 index 00000000000..5633df6f826 --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/functions/manage_center.md @@ -0,0 +1,33 @@ +# 管理中心 + +## 介绍 + +OpenMLDB 特征平台提供了对于数据表,特征,任务以及服务的管理功能,用户可以在管理中心查看和管理相关资源。 + +目前支持查看和管理的资源如下: + +* 特征:查看目前已创建的特征视图以及其中的单个特征。具体信息包括名称、对应数据库、SQL、依赖表等。 +* 数据表:查看目前已创建的数据库及数据表。数据表的具体信息包括schema、关联特征视图、关联特征服务等。 +* 离线样本:查看已导出的离线样本信息。具体信息包括特征名、导出路径、SQL、相关联的离线任务状态、日志等。 +* 离线任务:查看运行中/已运行的离线任务。具体信息包括任务类型、状态、运行日志等。 +* 特征服务:查看已上线的特征服务。具体信息包括版本、特征名、SQL、Deployment、相关联的特征及依赖表等。并提供服务测试界面。 + +## 特征管理 + +![](../images/features_page.png) + +## 数据表管理 + +![](../images/tables_page.png) + +## 离线样本管理 + +![](../images/offline_samples_page.png) + +## 离线任务管理 + +![](../images/offline_jobs_page.png) + +## 特征服务管理 + +![](../images/feature_services_page.png) diff --git a/docs/zh/app_ecosystem/feature_platform/functions/manage_feature.md b/docs/zh/app_ecosystem/feature_platform/functions/manage_feature.md new file mode 100644 index 00000000000..86f9361b96e --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/functions/manage_feature.md @@ -0,0 +1,50 @@ +# 特征管理 + +## 介绍 + +OpenMLDB 提供完备的特征生命周期管理功能,包含的功能如下: + +* 创建 + * 创建特征视图 + * 自动创建特征视图包含的特征 +* 查看 + * 查看特征视图详情 + * 查看特征详情 + * 预览样本特征 +* 删除 + * 删除特征视图 + * 自动删除特征视图包含的特征 + +![](../images/features_page.png) + +## 创建 + +用户想要创建特征,首先要创建一个特征视图,也就是用 SQL 定义的一组特征。 + +在特征页面,点击创建按钮,可以填写特征视图的名称,选择默认的数据库,然后填写要抽取特征的 SQL 语句,如果不了解 SQL 语法可点击旁边的“SQL 使用案例”来参考。 + +![](../images/create_feature_form1.png) + +填写完成后需要点击“分析 SQL”,这一步会对 SQL 语法进行校验,并且检查 SQL 语句是否符合上线需求。校验成功后会自动分析出 SQL 对应的特征数量和类型,用户可以在创建前给每个特征添加特征描述,方便后期检索。 + +![](../images/create_feature_form2.png) + +如果用户填写了错误的 SQL 语句,会提示“执行失败”,用户可以通过日志查看错误信息,并且修改 SQL 保证分析成功后才能创建。 + +## 查看 + +成功创建特征后,用户可以在所有特征列表和以及所有特征视图列表中查看系统中所有特征的详情信息。 + +点击特征视图的名称,可以查看特征视图的详情信息,包括创建时指定的 SQL 语句,以及关联的特征列表,还有依赖的数据表等。 + +![](../images/feature_view_detail.png) + +点击特征的名称,则可以查看特征的详细信息,包括特征所在的特征视图,提取单个特征自动生成的 SQL 语句,以及可以快速预览样本特征。 + +![](../images/feature_detail.png) + +## 删除 + +在特征视图列表中,有“删除”按钮,用户点击确认后可以删除对应的特征视图,并且自动删除特征视图包含的特征。注意删除操作一旦执行就无法撤回,请谨慎操作。 + +![](../images/delete_feature_view.png) diff --git a/docs/zh/app_ecosystem/feature_platform/functions/offline_scenario.md b/docs/zh/app_ecosystem/feature_platform/functions/offline_scenario.md new file mode 100644 index 00000000000..cba644a1237 --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/functions/offline_scenario.md @@ -0,0 +1,32 @@ + +# 离线场景 + +## 介绍 + +用户可以在此界面完成所有跟离线场景有关的需求,功能包括: + +* 创建离线样本 +* 查看离线样本 +* 删除服务版本 + +离线场景下所有导出任务都使用分布式计算,读取离线数据后进行特征抽取并导出成离线样本文本,使用开源的机器学习训练框架即可使用。 + +![](../images/offline_scenario.png) + +## 创建离线样本 + +用户点击创建按钮,可以创建和导出一次离线样本,用户只需要选择需要导出的特征和导出路径即可,选择的特征要求可参考[在线场景文档](./online_scenario.md)。 + +![](../images/create_offline_sample.png) + +除了基础参数,用户点击“更多选项”,还可以指定导出任务的 Spark 资源参数、导出的样本文件格式、导出模式等等。 + +## 查看离线样本 + +用户点击离线样本的编号,可以查看离线样本的详情信息,包括样本的导出路径、导出时间、导出模式、导出样本的文件格式等等,也可以查看关联的离线任务的状态和日志,只有离线任务执行成功过才可以开始使用离线样本文件。 + +![](../images/offline_sample_detail.png) + +## 删除服务版本 + +在离线样本列表有“删除”按钮,用户点击并确认后可以删除离线样本的记录,注意这里不会删除实际的样本文件,用户如果需要可以手动到导出路径处删除。删除操作同样时不可撤回,请谨慎操作。 diff --git a/docs/zh/app_ecosystem/feature_platform/functions/online_scenario.md b/docs/zh/app_ecosystem/feature_platform/functions/online_scenario.md new file mode 100644 index 00000000000..a84540eb7e1 --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/functions/online_scenario.md @@ -0,0 +1,55 @@ +# 在线场景 + +## 介绍 + +用户可以在此界面完成所有跟在线场景有关的需求,功能包括: + +* 创建特征服务 +* 查看特征服务 +* 设置服务版本 +* 请求特征服务 +* 删除特征服务 + +![](../images/online_scenario.png) + +## 创建特征服务 + +用户点击创建按钮,可以创建一个特征服务,需要填写特征服务名称(可重复)和服务版本,两者可以确定一个上线的服务实例,然后选择对应的特征。 + +选择特征时,可以直接选择特征视图名称,这样会自动包含特征视图内所有特征,也可以选择特征视图下某个特征,如果两者都选会自动合并而不会输出重复特征。 + +![](../images/create_feature_service.png) + +如果用户选择的特征来自于不同的特征视图,还需要填写一个主表主键,首先所有选择的特征视图必须有相同的主表,这里填写的就是相同主表的一个主键,可以是某一列的名称也可以是联合主键,必须保证主键的值在主表内是唯一的,否则上线后 SQL 合并会有计算错误。 + +![](../images/create_feature_service_with_keys.png) + +## 查看特征服务 + +用户点击特征服务名称,可以查看当前特征服务的详细信息,包括所有的服务版本。 + +![](../images/feature_service_detail.png) + +如果点击对应的服务版本,还可以查看对应服务版本的详细信息,包括上线部署使用的 SQL 语句,服务关联的特征列表以及依赖的数据表等。 + +![](../images/feature_service_version_detail.png) + +## 设置服务版本 + +在特征服务详情页,用户可以设置当前服务版本为最新版本。 + +注意,多个服务版本可以同时对外提供服务,如果用户请求特征服务的时候不指定服务版本,则会自动请求到最新版本。如果期望客户端不感知后端升级自动使用新版本特征服务,可以使用此功能,但需要保证不同版本特征服务返回结果一致。 + +## 请求特征服务 + +点击“请求特征服务”按钮,可以请求当前特征服务,并返回特征服务返回的结果。 + +![](../images/request_feature_service.png) + +这里提供表单模式和 JSON 模式,用户可以直接填写表单内容来请求特征服务,也可以参考上面提供的 JSON 示例来请求特征服务。如果使用 JSON 模式可以一次性请求多行数据,并且请求格式于 OpenMLDB APIServer 线上服务要求的格式一致。 + +## 删除特征服务 + +在特征服务列表页有“删除服务版本“按钮,每次只能删除一个版本,如果需要删除多个版本,需要多次点击所有服务版本的删除按钮。 + +注意,删除操作无法撤回,请务必谨慎操作。 diff --git a/docs/zh/app_ecosystem/feature_platform/functions/sql_playground.md b/docs/zh/app_ecosystem/feature_platform/functions/sql_playground.md new file mode 100644 index 00000000000..d4c8d14d207 --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/functions/sql_playground.md @@ -0,0 +1,25 @@ +# SQL 实验室 + +## 介绍 + +SQL 实验室提供了 OpenMLDB SQL 语句的调试和执行功能,方便用户执行任意 SQL 操作并调试特征抽取的 SQL 语句。 + +## 在线模式 + +在线模式下会请求在线数据库,可进行在线数据的增删改查。 + +![](../images/sql_playground_online.png) + +在线模式下查询结果会直接返回到前端暂时,注意避免因为超时或数据量太大导致的执行失败问题。 + +如果用户的 SQL 执行错误,可以通过返回的错误信息进行调试和排查。 + +![](../images/sql_playground_fail.png) + +## 离线模式 + +离线模式下会提交分布式执行的SQL,可进行离线探索或样本生成。 + +![](../images/sql_playground_offline.png) + +离线模式则会返回离线任务信息,可以点击任务ID查看任务的详情和日志。 diff --git a/docs/zh/app_ecosystem/feature_platform/functions/sql_tool.md b/docs/zh/app_ecosystem/feature_platform/functions/sql_tool.md new file mode 100644 index 00000000000..e9187e0c515 --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/functions/sql_tool.md @@ -0,0 +1,15 @@ +# 可视化 SQL 工具 + +## 介绍 + +由于OpenMLDB目前仅支持单条SQL语句生成特征组,我们提供了一个可视化的SQL工具,来方便用户通过拖拉拽SQL算子将多条SQL语句通过`WITH`语句生成一条复杂的SQL语句。 + +## 使用 + +可视化SQL工具的入口在创建特征页面中,如下图所示: + +![](../images/sql_tool_entry.png) + +使用SQL工具拖拽算子、连接、填入SQL后,可点击“预览生成SQL”生成对应的复杂SQL。如下图所示: + +![](../images/sql_tool_tutorial.png) diff --git a/docs/zh/app_ecosystem/feature_platform/images/bigscreen.png b/docs/zh/app_ecosystem/feature_platform/images/bigscreen.png new file mode 100644 index 00000000000..ff341bb40dc Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/bigscreen.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/computed_feature_page.png b/docs/zh/app_ecosystem/feature_platform/images/computed_feature_page.png new file mode 100644 index 00000000000..b240611e047 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/computed_feature_page.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/computed_feature_sample.png b/docs/zh/app_ecosystem/feature_platform/images/computed_feature_sample.png new file mode 100644 index 00000000000..cffe3fc214a Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/computed_feature_sample.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/computed_feature_with_index.png b/docs/zh/app_ecosystem/feature_platform/images/computed_feature_with_index.png new file mode 100644 index 00000000000..12daca885c6 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/computed_feature_with_index.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/create_database_form.png b/docs/zh/app_ecosystem/feature_platform/images/create_database_form.png new file mode 100644 index 00000000000..3374877602e Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/create_database_form.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/create_feature_form1.png b/docs/zh/app_ecosystem/feature_platform/images/create_feature_form1.png new file mode 100644 index 00000000000..238fc4d7b16 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/create_feature_form1.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/create_feature_form2.png b/docs/zh/app_ecosystem/feature_platform/images/create_feature_form2.png new file mode 100644 index 00000000000..159cf1ba80b Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/create_feature_form2.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/create_feature_service.png b/docs/zh/app_ecosystem/feature_platform/images/create_feature_service.png new file mode 100644 index 00000000000..b47b80f90d8 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/create_feature_service.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/create_feature_service_with_keys.png b/docs/zh/app_ecosystem/feature_platform/images/create_feature_service_with_keys.png new file mode 100644 index 00000000000..1b428bfa0fb Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/create_feature_service_with_keys.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/create_offline_sample.png b/docs/zh/app_ecosystem/feature_platform/images/create_offline_sample.png new file mode 100644 index 00000000000..dad96e751bd Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/create_offline_sample.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/create_table_form.png b/docs/zh/app_ecosystem/feature_platform/images/create_table_form.png new file mode 100644 index 00000000000..801492953c3 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/create_table_form.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/create_table_from_hive.png b/docs/zh/app_ecosystem/feature_platform/images/create_table_from_hive.png new file mode 100644 index 00000000000..dd015060dcd Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/create_table_from_hive.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/create_table_from_parquet.png b/docs/zh/app_ecosystem/feature_platform/images/create_table_from_parquet.png new file mode 100644 index 00000000000..9b0f4a7d32b Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/create_table_from_parquet.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/create_table_from_sql.png b/docs/zh/app_ecosystem/feature_platform/images/create_table_from_sql.png new file mode 100644 index 00000000000..3813c993826 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/create_table_from_sql.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/create_test_feature_service.png b/docs/zh/app_ecosystem/feature_platform/images/create_test_feature_service.png new file mode 100644 index 00000000000..a00fc2da3c3 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/create_test_feature_service.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/create_test_featureview.png b/docs/zh/app_ecosystem/feature_platform/images/create_test_featureview.png new file mode 100644 index 00000000000..5dd19888f06 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/create_test_featureview.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/create_test_table.png b/docs/zh/app_ecosystem/feature_platform/images/create_test_table.png new file mode 100644 index 00000000000..08780718313 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/create_test_table.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/csv_import_test_table.png b/docs/zh/app_ecosystem/feature_platform/images/csv_import_test_table.png new file mode 100644 index 00000000000..0410ae42196 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/csv_import_test_table.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/database_detail.png b/docs/zh/app_ecosystem/feature_platform/images/database_detail.png new file mode 100644 index 00000000000..8097c1e2060 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/database_detail.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/database_list.png b/docs/zh/app_ecosystem/feature_platform/images/database_list.png new file mode 100644 index 00000000000..a739eb8d79f Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/database_list.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/delete_feature_view.png b/docs/zh/app_ecosystem/feature_platform/images/delete_feature_view.png new file mode 100644 index 00000000000..3fe4e6a95e1 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/delete_feature_view.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/export_test_offline_samples.png b/docs/zh/app_ecosystem/feature_platform/images/export_test_offline_samples.png new file mode 100644 index 00000000000..19c6c64e8eb Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/export_test_offline_samples.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/feature_detail.png b/docs/zh/app_ecosystem/feature_platform/images/feature_detail.png new file mode 100644 index 00000000000..018dff2d0af Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/feature_detail.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/feature_service_detail.png b/docs/zh/app_ecosystem/feature_platform/images/feature_service_detail.png new file mode 100644 index 00000000000..16344ea0956 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/feature_service_detail.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/feature_service_version_detail.png b/docs/zh/app_ecosystem/feature_platform/images/feature_service_version_detail.png new file mode 100644 index 00000000000..fd5430a9e51 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/feature_service_version_detail.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/feature_services_page.png b/docs/zh/app_ecosystem/feature_platform/images/feature_services_page.png new file mode 100644 index 00000000000..c3e91eb685f Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/feature_services_page.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/feature_view_detail.png b/docs/zh/app_ecosystem/feature_platform/images/feature_view_detail.png new file mode 100644 index 00000000000..eab8fdc0ff8 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/feature_view_detail.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/features_page.png b/docs/zh/app_ecosystem/feature_platform/images/features_page.png new file mode 100644 index 00000000000..fb15f55b871 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/features_page.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/ide_develop_featuer_platform.png b/docs/zh/app_ecosystem/feature_platform/images/ide_develop_featuer_platform.png new file mode 100644 index 00000000000..4e506ccf867 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/ide_develop_featuer_platform.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/import_data.png b/docs/zh/app_ecosystem/feature_platform/images/import_data.png new file mode 100644 index 00000000000..cf8092b6fc0 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/import_data.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/import_job_result.png b/docs/zh/app_ecosystem/feature_platform/images/import_job_result.png new file mode 100644 index 00000000000..378f0d6e182 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/import_job_result.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/import_offline_from_csv.png b/docs/zh/app_ecosystem/feature_platform/images/import_offline_from_csv.png new file mode 100644 index 00000000000..155ad2cb139 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/import_offline_from_csv.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/import_offline_from_hive.png b/docs/zh/app_ecosystem/feature_platform/images/import_offline_from_hive.png new file mode 100644 index 00000000000..2d8e5c4b774 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/import_offline_from_hive.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/import_offline_from_parquet.png b/docs/zh/app_ecosystem/feature_platform/images/import_offline_from_parquet.png new file mode 100644 index 00000000000..3c2ddec0ed7 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/import_offline_from_parquet.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/import_offline_from_sql.png b/docs/zh/app_ecosystem/feature_platform/images/import_offline_from_sql.png new file mode 100644 index 00000000000..e3adc2f7300 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/import_offline_from_sql.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/import_online_from_csv.png b/docs/zh/app_ecosystem/feature_platform/images/import_online_from_csv.png new file mode 100644 index 00000000000..b9bb99f07ec Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/import_online_from_csv.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/import_online_from_hive.png b/docs/zh/app_ecosystem/feature_platform/images/import_online_from_hive.png new file mode 100644 index 00000000000..d704c533bb4 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/import_online_from_hive.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/import_online_from_insert.png b/docs/zh/app_ecosystem/feature_platform/images/import_online_from_insert.png new file mode 100644 index 00000000000..94f7f419818 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/import_online_from_insert.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/import_online_from_parquet.png b/docs/zh/app_ecosystem/feature_platform/images/import_online_from_parquet.png new file mode 100644 index 00000000000..cbcfcf78f2a Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/import_online_from_parquet.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/import_online_from_sql.png b/docs/zh/app_ecosystem/feature_platform/images/import_online_from_sql.png new file mode 100644 index 00000000000..28c7251b5d7 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/import_online_from_sql.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/local_test_offline_samples.png b/docs/zh/app_ecosystem/feature_platform/images/local_test_offline_samples.png new file mode 100644 index 00000000000..dcb9aeff76b Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/local_test_offline_samples.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/offline_jobs_page.png b/docs/zh/app_ecosystem/feature_platform/images/offline_jobs_page.png new file mode 100644 index 00000000000..92efd33b652 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/offline_jobs_page.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/offline_sample_detail.png b/docs/zh/app_ecosystem/feature_platform/images/offline_sample_detail.png new file mode 100644 index 00000000000..de9c6c2f6b9 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/offline_sample_detail.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/offline_samples_page.png b/docs/zh/app_ecosystem/feature_platform/images/offline_samples_page.png new file mode 100644 index 00000000000..4befb2796c0 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/offline_samples_page.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/offline_scenario.png b/docs/zh/app_ecosystem/feature_platform/images/offline_scenario.png new file mode 100644 index 00000000000..80f06cda445 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/offline_scenario.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/online_csv_import_test_table.png b/docs/zh/app_ecosystem/feature_platform/images/online_csv_import_test_table.png new file mode 100644 index 00000000000..c212a442d84 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/online_csv_import_test_table.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/online_scenario.png b/docs/zh/app_ecosystem/feature_platform/images/online_scenario.png new file mode 100644 index 00000000000..df39b93d558 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/online_scenario.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/preview_test_features.png b/docs/zh/app_ecosystem/feature_platform/images/preview_test_features.png new file mode 100644 index 00000000000..275304ce378 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/preview_test_features.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/preview_test_table.png b/docs/zh/app_ecosystem/feature_platform/images/preview_test_table.png new file mode 100644 index 00000000000..3bb32c63b47 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/preview_test_table.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/request_feature_service.png b/docs/zh/app_ecosystem/feature_platform/images/request_feature_service.png new file mode 100644 index 00000000000..33cdc1ac2de Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/request_feature_service.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/request_test_feature_service.png b/docs/zh/app_ecosystem/feature_platform/images/request_test_feature_service.png new file mode 100644 index 00000000000..008f4dd81eb Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/request_test_feature_service.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/sql_playground_fail.png b/docs/zh/app_ecosystem/feature_platform/images/sql_playground_fail.png new file mode 100644 index 00000000000..ae77fb35844 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/sql_playground_fail.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/sql_playground_offline.png b/docs/zh/app_ecosystem/feature_platform/images/sql_playground_offline.png new file mode 100644 index 00000000000..5a8b51c148a Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/sql_playground_offline.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/sql_playground_online.png b/docs/zh/app_ecosystem/feature_platform/images/sql_playground_online.png new file mode 100644 index 00000000000..a5ded8ea3ec Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/sql_playground_online.png differ diff --git a/docs/zh/app_ecosystem/images/sql_tool_entry.png b/docs/zh/app_ecosystem/feature_platform/images/sql_tool_entry.png similarity index 100% rename from docs/zh/app_ecosystem/images/sql_tool_entry.png rename to docs/zh/app_ecosystem/feature_platform/images/sql_tool_entry.png diff --git a/docs/zh/app_ecosystem/images/sql_tool_tutorial.png b/docs/zh/app_ecosystem/feature_platform/images/sql_tool_tutorial.png similarity index 100% rename from docs/zh/app_ecosystem/images/sql_tool_tutorial.png rename to docs/zh/app_ecosystem/feature_platform/images/sql_tool_tutorial.png diff --git a/docs/zh/app_ecosystem/feature_platform/images/table_detail.png b/docs/zh/app_ecosystem/feature_platform/images/table_detail.png new file mode 100644 index 00000000000..d10fcbb31d2 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/table_detail.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/table_list.png b/docs/zh/app_ecosystem/feature_platform/images/table_list.png new file mode 100644 index 00000000000..bfa97f9d0a6 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/table_list.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/tables_page.png b/docs/zh/app_ecosystem/feature_platform/images/tables_page.png new file mode 100644 index 00000000000..48b8dc53bc5 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/tables_page.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/test_feature_service_detail.png b/docs/zh/app_ecosystem/feature_platform/images/test_feature_service_detail.png new file mode 100644 index 00000000000..89c5f12197c Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/test_feature_service_detail.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/test_features_list.png b/docs/zh/app_ecosystem/feature_platform/images/test_features_list.png new file mode 100644 index 00000000000..6ad5b8da86d Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/test_features_list.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/images/test_offline_sample_detail.png b/docs/zh/app_ecosystem/feature_platform/images/test_offline_sample_detail.png new file mode 100644 index 00000000000..61ff9d843f1 Binary files /dev/null and b/docs/zh/app_ecosystem/feature_platform/images/test_offline_sample_detail.png differ diff --git a/docs/zh/app_ecosystem/feature_platform/index.rst b/docs/zh/app_ecosystem/feature_platform/index.rst index dd6992a8d3a..393e9e4dd68 100644 --- a/docs/zh/app_ecosystem/feature_platform/index.rst +++ b/docs/zh/app_ecosystem/feature_platform/index.rst @@ -5,8 +5,12 @@ OpenMLDB 特征平台 .. toctree:: :maxdepth: 1 - concept + introduction quickstart - usage - functions - installation \ No newline at end of file + install/index + functions/index + + + + + \ No newline at end of file diff --git a/docs/zh/app_ecosystem/feature_platform/install/config_file.md b/docs/zh/app_ecosystem/feature_platform/install/config_file.md new file mode 100644 index 00000000000..945f7612fc1 --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/install/config_file.md @@ -0,0 +1,30 @@ +# 特征平台配置文件 + +## 介绍 + +OpenMLDB 特征平台基于 Spring Boot 开发,使用 `application.yml` 规范作为配置文件。 + +## 配置示例 + +简化版配置示例如下: + +``` +server: + port: 8888 + +openmldb: + zk_cluster: 127.0.0.1:2181 + zk_path: /openmldb + apiserver: 127.0.0.1:9080 +``` + +## 配置项目 + + +| 配置项目 | 介绍 | 类型 | 示例 | +| ------- | --- | --- | ---- | +| server.port | 服务端口 | int | 8888 | +| openmldb.zk_cluster | ZooKeeper 集群地址 | string | 127.0.0.1:2181 | +| openmldb.zk_path | OpenMLDB 根路径 | string | /openmldb | +| openmldb.apiserver | OpenMLDB APIServer 地址 | string | 127.0.0.1:90 | +| openmldb.skip_index_check | 是否跳过索引检查 | boolean | false | \ No newline at end of file diff --git a/docs/zh/app_ecosystem/feature_platform/install/docker.md b/docs/zh/app_ecosystem/feature_platform/install/docker.md new file mode 100644 index 00000000000..b17a2630eef --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/install/docker.md @@ -0,0 +1,37 @@ +# Docker + +## 介绍 + +使用构建好的 Docker 镜像, 可以快速启动 OpenMLDB 特征服务. + +## 配置 + +参考[特征平台配置文件](./config_file.md),创建 `application.yml` 配置文件。 + +``` +server: + port: 8888 + +openmldb: + zk_cluster: 127.0.0.1:2181 + zk_path: /openmldb + apiserver: 127.0.0.1:9080 +``` + +## Linux + +参考 [OpenMLDB 部署文档](../../../deploy/index.rst) 提前部署 OpenMLDB 集群。 + +启动 OpenMLDB 特征平台 容器. + +``` +docker run -d -p 8888:8888 --net=host -v `pwd`/application.yml:/app/application.yml registry.cn-shenzhen.aliyuncs.com/tobe43/openmldb-feature-platform +``` + +## MacOS + +由于 MacOS 通过虚拟机启动 Docker 容器,使用 `--net=host` 参数无法正常工作,需要提前修改配置文件指向正确的 OpenMLDB 服务。 + +``` +docker run -d -p 8888:8888 -v `pwd`/application.yml:/app/application.yml registry.cn-shenzhen.aliyuncs.com/tobe43/openmldb-feature-platform +``` diff --git a/docs/zh/app_ecosystem/feature_platform/install/index.rst b/docs/zh/app_ecosystem/feature_platform/install/index.rst new file mode 100644 index 00000000000..b96f6c7df17 --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/install/index.rst @@ -0,0 +1,13 @@ +============================= +安装部署 +============================= + +.. toctree:: + :maxdepth: 1 + + package + docker + source + config_file + upgrade + diff --git a/docs/zh/app_ecosystem/feature_platform/install/package.md b/docs/zh/app_ecosystem/feature_platform/install/package.md new file mode 100644 index 00000000000..9ded57515b3 --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/install/package.md @@ -0,0 +1,38 @@ +# 安装包 + +## 介绍 + +使用官方预编译的安装包,只需要本地有 Java 环境就可以快速部署 OpenMLDB 特征平台。 + +注意,需参考 [OpenMLDB 部署文档](../../../deploy/index.rst) 提前部署 OpenMLDB 集群。 + +## 下载 + +下载 Jar 文件。 + +``` +wget https://openmldb.ai/download/feature-platform/openmldb-feature-platform-0.1-SNAPSHOT.jar +``` + +## 配置 + +参考[特征平台配置文件](./config_file.md),创建 `application.yml` 配置文件。 + +``` +server: + port: 8888 + +openmldb: + zk_cluster: 127.0.0.1:2181 + zk_path: /openmldb + apiserver: 127.0.0.1:9080 +``` + +## 启动 + +启动特征平台服务。 + +``` +java -jar ./openmldb-feature-platform-0.1-SNAPSHOT.jar +``` + diff --git a/docs/zh/app_ecosystem/feature_platform/install/source.md b/docs/zh/app_ecosystem/feature_platform/install/source.md new file mode 100644 index 00000000000..5195086e318 --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/install/source.md @@ -0,0 +1,39 @@ +# 源码编译 + +## 介绍 + +通过源码编译 OpenMLDB 特征平台,可以按需使用特定源码功能,本文档提供源码编译的完整流程。 + +## 下载源码 + +下载项目源码。 + +``` +git clone https://github.com/4paradigm/feature-platform +``` + +## 编译源码 + +进入项目根目录,执行以下命令编译前端和后端代码。 + +``` +cd ./feature-platform/frontend/ +npm run build + +cd ../ +mvn clean package +``` + +## 启动服务 + +部署 OpenMLDB 集群并配置好配置文件后,可以使用下面命令启动服务。 + +``` +./start_server.sh +``` + +## 使用 IDE 开发 + +如果使用 IDE 开发,修改 `application.yml` 配置文件,找到 `HtttpServer.java` 类直接启动即可。 + +![](../images/ide_develop_featuer_platform.png) diff --git a/docs/zh/app_ecosystem/feature_platform/install/upgrade.md b/docs/zh/app_ecosystem/feature_platform/install/upgrade.md new file mode 100644 index 00000000000..d93951778bf --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/install/upgrade.md @@ -0,0 +1,11 @@ +# 版本升级 + +## 介绍 + +OpenMLDB 特征平台对外提供 HTTP 接口,底层依赖 OpenMLDB 数据库存储元数据,因此可以通过多实例和 Rolling update 等方法进行版本升级。 + +## 单实例升级步骤 + +1. 下载新版本的 OpenMLDB 安装包或 Docker 镜像。 +2. 停止当前正在运行的 OpenMLDB 特征服务实例。 +3. 基于新版本 OpenMLDB 特征服务包启动新实例。 diff --git a/docs/zh/app_ecosystem/feature_platform/installation.md b/docs/zh/app_ecosystem/feature_platform/installation.md deleted file mode 100644 index c1b9e1d551e..00000000000 --- a/docs/zh/app_ecosystem/feature_platform/installation.md +++ /dev/null @@ -1,55 +0,0 @@ -# 安装部署 - -## Java - -下载 Jar 文件。 - -``` -wget https://openmldb.ai/download/feature-platform/openmldb-feature-platform-0.8-SNAPSHOT.jar -``` - -准备配置文件并命名为 `application.yml`。 - -``` -server: - port: 8888 - -openmldb: - zk_cluster: 127.0.0.1:2181 - zk_path: /openmldb - apiserver: 127.0.0.1:9080 -``` - -启动特征平台服务。 - -``` -java -jar ./openmldb-feature-platform-0.8-SNAPSHOT.jar -``` - -## Docker - -准备配置文件 `application.yml` 并启动 Docker 容器. - -``` -docker run -d -p 8888:8888 -v `pwd`/application.yml:/app/application.yml registry.cn-shenzhen.aliyuncs.com/tobe43/openmldb-feature-platform -``` - -## 源码编译 - -下载项目源码并从头编译。 - -``` -git clone https://github.com/4paradigm/feature-platform - -cd ./feature-platform/frontend/ -npm run build - -cd ../ -mvn clean package -``` - -使用本地配置文件启动服务。 - -``` -./start_server.sh -``` \ No newline at end of file diff --git a/docs/zh/app_ecosystem/feature_platform/introduction.md b/docs/zh/app_ecosystem/feature_platform/introduction.md new file mode 100644 index 00000000000..b04ac7b285c --- /dev/null +++ b/docs/zh/app_ecosystem/feature_platform/introduction.md @@ -0,0 +1,45 @@ +# 简介 + +OpenMLDB 特征平台是一个先进的特征存储(Feature Store)服务,基于 [OpenMLDB](https://github.com/4paradigm/OpenMLDB) 数据库实现高效的特征管理和编排功能。 + +特征平台提供简便易用的 UI 界面,用户可以进行机器学习特征开发的全流程,包括数据的导入、查看、编辑,特征的生成、存储、上线等功能。 针对离线场景中,用户可以选择特征生成离线样本用于后续的机器学习开发;针对在线场景中,用户可以选择特征创建特征服务,实现实时特征计算。 + +![](./images/bigscreen.png) + +## 主要功能 + +OpenMLDB 特征平台包括以下几个主要功能: + +- [数据管理](./functions/import_data.md):用于导入和管理特征工程需要的原始数据和在线数据。 +- [特征管理](./functions/manage_feature.md):用于存储原始特征数据和派生特征数据的存储系统。 +- [在线场景](./functions/online_scenario.md):上线特征服务,使用在线数据提供硬实时的在线特征抽取接口。 +- [离线场景](./functions/offline_scenario.md):对离线数据进行特征计算并导出样本文件,提供离线样本、任务管理功能。 +- [SQL实验室](./functions/sql_playground.md):可调试和执行任意的 OpenMLDB SQL 语句,使用在线模式或离线模型完成特征计算任务。 +- [预计算特征](./functions/computed_features.md):用户可以通过预计算把特征值直接存入 OpenMLDB 在线表中,然后访问在线表数据进行读写特征。 + +## 核心概念 + +* 特征:通过对原始数据进行特征抽取得到的可直接用于模型训练和推理的数据。 +* 预计算特征:通过外部批计算或流式处理后存储的特征值,可直接上线使用。 +* 特征视图:通过单个SQL计算语句定义的一组特征。 +* 特征服务:将单个或多个特征组成一个特征服务,提供给在线场景使用。 +* 在线场景:通过上线特征服务,使用在线数据提供硬实时的在线特征抽取接口。 +* 离线场景:使用分布式计算,对离线数据进行特征计算并导出机器学习所需的样本文件。 +* 在线离线一致性:通过相同的SQL定义可保证在线场景和离线场景计算的特征结果一致。 + +## 应用场景 + +OpenMLDB 特征平台的主要目的是解决在机器学习项目中常见的问题: + +* 特征工程自动化:为特征提取、转换、组合和选择提供工具和自动化功能,帮助数据科学家更高效地进行特征工程。 +* 特征重用和共享:特征平台允许共享和重复使用已开发特征,提高开发效率和模型的一致性。 +* 特征服务版本控制:对特征进行跟踪和管理,包括不同版本的特征,方便追溯特征的演化历史和对模型性能的影响。 +* 数据一致性和可靠性:确保在训练和推理过程中使用的特征数据的一致和可靠。 + +应用场景包括并不仅限于以下场景: + +* 上线在线特征服务:提供本地化部署的高性能特征存储和在线特征计算功能。 +* 搭建 MLOps 平台:基于 OpenMLDB 在线离线一致性快速实现完成的 MLOps 工作流。 +* 搭建 FeatureStore 平台:提供完备的特征创建、删除、上线、血缘管理等功能,低成本实现本地 FeatureStore 服务。 +* 复用开源特征方案:在本地复用开源共建的特征数据集,实现特征重用和共享。 +* 机器学习业务组件:为推荐系统、自然语言处理、金融医疗等领域机器学习模型提供一站式特征工程落地方案。 diff --git a/docs/zh/app_ecosystem/feature_platform/quickstart.md b/docs/zh/app_ecosystem/feature_platform/quickstart.md index 5fdd7d5929c..5a4529d41f8 100644 --- a/docs/zh/app_ecosystem/feature_platform/quickstart.md +++ b/docs/zh/app_ecosystem/feature_platform/quickstart.md @@ -1,40 +1,109 @@ -# QuickStart +# 快速入门 -## 安装部署 -注意特征平台为独立于OpenMLDB的工具,用户需要首先进行OpenMLDB的安装部署,再启动特征平台。OpenMLDB的部署请参照[文档](https://openmldb.ai/docs/zh/main/quickstart/openmldb_quickstart.html#id3)。 +本文将介绍如何快速入门 OpenMLDB 特征平台,基于一个 SQL 示例来演示如何使用特征平台。 -1. 准备配置文件并命名为 `application.yml`。其中,OpenMLDB的信息需要与已真实部署一致。 +安装部署可参考 [OpenMLDB 部署文档](../../../deploy/index.rst) 和 [OpenMLDB 特征平台部署文档](./install/index.rst)。 + +## 使用流程 + +特征平台的基本使用流程包括以下几个步骤: + +1. 导入数据:使用SQL命令或前端表单进行创建数据库、创建数据表、导入在线数据和导入离线数据等操作。 +2. 创建特征:使用SQL语句来定义特征视图,特征平台使用SQL编译器进行特征分析并创建对应的特征。 +3. 离线场景:选择想要导入的特征,可以同时选择不同特征视图的特征,并使用分布式计算把样本文件导入到本地或分布式存储。 +4. 在线场景:选择想要上线的特征,一键发布成在线特征抽取服务,然后可使用HTTP客户端进行请求和返回在线特征抽取结果。 + +### 1. 导入数据 + +首先创建数据库`test_db`表,和数据表`test_table`,可以直接执行 SQL 来创建。 ``` -server: - port: 8888 - -openmldb: - zk_cluster: 127.0.0.1:2181 - zk_path: /openmldb - apiserver: 127.0.0.1:9080 +CREATE DATABASE test_db; + +CREATE TABLE test_db.test_table (id STRING, trx_time DATE); ``` -2. 拉取镜像并启动Docker容器. +也可以在特征平台的“数据导入”前端页面直接创建。 + +![](./images/create_test_table.png) + +为了测试方便,我们准备一个 CSV 文件并保存到 `/tmp/test_table.csv`。注意,这里本地是 OpenMLDB TaskManager 服务器的本地路径,一般也是 OpenMLDB 特征平台的服务器路径,需要提前登陆编辑。 ``` -docker run -d -p 8888:8888 -v `pwd`/application.yml:/app/application.yml registry.cn-shenzhen.aliyuncs.com/tobe43/openmldb-feature-platform +id,trx_time +user1,2024-01-01 +user2,2024-01-02 +user3,2024-01-03 +user4,2024-01-04 +user5,2024-01-05 +user6,2024-01-06 +user7,2024-01-07 ``` -## 特征平台使用 -这里我们使用一个简单的例子来介绍特征平台的使用方法。使用任意网页浏览器访问特征平台服务地址 http://127.0.0.1:8888/ 。 +在线数据可以使用 `LOAD DATA` 或 `INSERT` 命令来导入,这里演示通过点击 “使用 CSV 导入” 来执行。 + +![](./images/online_csv_import_test_table.png) + +通过前端页面可以预览已导入的在线数据。 + +![](./images/preview_test_table.png) + +离线数据也可以使用 `LOAD DATA` 命令或前端选择“使用 CSV 导入”来执行。 + +![](./images/csv_import_test_table.png) + +等待半分钟后导入任务完成,可以查看任务的状态以及日志。 + +![](./images/import_job_result.png) + +### 2. 创建特征 + +数据导入完成后,可以开始创建特征,本示例使用 SQL 来创建两个基本特征。 + +``` +SELECT id, dayofweek(trx_time) as trx_day FROM test_table +``` + +在”特征“页面选择“创建特征”,填写特征组名称以及 SQL 语句。 + +![](./images/create_test_featureview.png) + +创建完成后,可以在“特征”页面查看成功创建的特征。 + +![](./images/test_features_list.png) + +点击特征名称,进入特征详情页,可以查看特征基础信息,并提供特征预览功能。 + +![](./images/preview_test_features.png) + +### 3. 生成离线样本 + +在“离线场景”页面,可以选择导出离线样本,只要选择刚创建好的特征和提供导出路径即可,前端还提供了“更多选项”可以选择到处格式、运行参数等。 + +![](./images/export_test_offline_samples.png) + +提交导出任务后,可以在“离线样本”详情页查看导出信息,大概半分钟后成功完成。 + +![](./images/test_offline_sample_detail.png) + +在本地即可查看导出的样本文件内容。为了验证 OpenMLDB 特征平台提供的在线离线一致性,可记录离线特征结果,并于后面的在线特征计算做比较。 + +![](./images/local_test_offline_samples.png) + +### 4. 创建在线服务 + +在“特征服务”页面可以选择创建特征服务,同样是只需要选择上线的特征,以及提供特征服务名称和版本即可。 -### 导入数据 -1. 创建数据库: 创建新的数据库`demo_db` +![](./images/create_test_feature_service.png) -![create_db](../images/create_db.png) +创建成功后,可以在特征服务详情页查看到服务的基本信息,上线包含的特征列表,以及依赖数据表的血缘关系等。 -2. 创建数据表:选择`demo_db`,创建新的数据表`t1`,并且添加数据列`name`和`age`,选择对应数据类型。 +![](./images/test_feature_service_detail.png) -![create_table](../images/create_table.png) +最后通过“请求特征服务”页面,我们可以输入测试数据进行在线特征计算,并且和离线样本的特征结果进行比对。 -### 创建特征 +![](./images/request_test_feature_service.png) -### 生成离线样本 +## 总结 -### 创建在线服务 \ No newline at end of file +本示例演示了使用 OpenMLDB 特征平台的完整流程,通过编写简单的 SQL 即可实现在线和离线的特征定义,通过选择不同的特征,甚至是组合不同特征组的特征,即可实现快速的特征复用和上线,并且对比离线和在线的计算结果验证了特征计算的一致性。 diff --git a/docs/zh/app_ecosystem/feature_platform/usage.md b/docs/zh/app_ecosystem/feature_platform/usage.md deleted file mode 100644 index 8d0c553863c..00000000000 --- a/docs/zh/app_ecosystem/feature_platform/usage.md +++ /dev/null @@ -1,3 +0,0 @@ -## 使用案例 - -### 一个实际数据的例子 \ No newline at end of file diff --git a/docs/zh/app_ecosystem/images/create_db.png b/docs/zh/app_ecosystem/images/create_db.png deleted file mode 100644 index 6b750b0e741..00000000000 Binary files a/docs/zh/app_ecosystem/images/create_db.png and /dev/null differ diff --git a/docs/zh/app_ecosystem/images/create_fe_entry.png b/docs/zh/app_ecosystem/images/create_fe_entry.png deleted file mode 100644 index ab137535383..00000000000 Binary files a/docs/zh/app_ecosystem/images/create_fe_entry.png and /dev/null differ diff --git a/docs/zh/app_ecosystem/images/create_table.png b/docs/zh/app_ecosystem/images/create_table.png deleted file mode 100644 index c2af86cb46f..00000000000 Binary files a/docs/zh/app_ecosystem/images/create_table.png and /dev/null differ diff --git a/docs/zh/app_ecosystem/images/fep_screenshot.png b/docs/zh/app_ecosystem/images/fep_screenshot.png deleted file mode 100644 index dc4003f421a..00000000000 Binary files a/docs/zh/app_ecosystem/images/fep_screenshot.png and /dev/null differ