From 99b28f04ad4a2398e45264a54cda764d6ed237cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E6=AC=A3?= Date: Sat, 28 Jan 2023 16:08:44 +0800 Subject: [PATCH 01/14] l --- docs/zh/use_case/taxi_tour_duration_prediction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh/use_case/taxi_tour_duration_prediction.md b/docs/zh/use_case/taxi_tour_duration_prediction.md index fd56c0e612d..b6a68f5839c 100644 --- a/docs/zh/use_case/taxi_tour_duration_prediction.md +++ b/docs/zh/use_case/taxi_tour_duration_prediction.md @@ -1,6 +1,6 @@ # 出租车行程时间预测(OpenMLDB + LightGBM) -本文我们将以[Kaggle上的出租车行车时间预测问题为例](https://www.kaggle.com/c/nyc-taxi-trip-duration/overview),示范如何使用[OpenMLDB](https://github.com/4paradigm/OpenMLDB)和 LightGBM 联合来打造一个完整的机器学习应用。本案例基于 OpenMLDB 集群版进行教程演示。 +本文将以[Kaggle上的出租车行车时间预测问题](https://www.kaggle.com/c/nyc-taxi-trip-duration/overview)为例,示范如何使用 OpenMLDB 和 LightGBM 联合来打造一个完整的机器学习应用。 注意,本文档使用的是预编译好的 docker 镜像。如果希望在自己编译和搭建的 OpenMLDB 环境下进行测试,需要配置使用我们[面向特征工程优化的 Spark 发行版](../tutorial/openmldbspark_distribution.md)。请参考相关[编译](../deploy/compile.md)(参考章节:“针对OpenMLDB优化的Spark发行版”)和[安装部署文档](../deploy/install_deploy.md)(参考章节:“部署TaskManager” - “2 修改配置文件conf/taskmanager.properties”)。 From 398a0b1f07eaddf38d985d60b456864decabda05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E6=AC=A3?= Date: Sat, 28 Jan 2023 16:56:00 +0800 Subject: [PATCH 02/14] ll --- .../use_case/taxi_tour_duration_prediction.md | 158 +++++++++--------- 1 file changed, 81 insertions(+), 77 deletions(-) diff --git a/docs/zh/use_case/taxi_tour_duration_prediction.md b/docs/zh/use_case/taxi_tour_duration_prediction.md index b6a68f5839c..809bd679b26 100644 --- a/docs/zh/use_case/taxi_tour_duration_prediction.md +++ b/docs/zh/use_case/taxi_tour_duration_prediction.md @@ -1,79 +1,77 @@ -# 出租车行程时间预测(OpenMLDB + LightGBM) +# OpenMLDB + LightGBM:出租车行程时间预测 -本文将以[Kaggle上的出租车行车时间预测问题](https://www.kaggle.com/c/nyc-taxi-trip-duration/overview)为例,示范如何使用 OpenMLDB 和 LightGBM 联合来打造一个完整的机器学习应用。 +本文将以 [Kaggle 上的出租车行车时间预测问题](https://www.kaggle.com/c/nyc-taxi-trip-duration/overview)为例,示范如何使用 OpenMLDB 和 LightGBM 联合来打造一个完整的机器学习应用。 -注意,本文档使用的是预编译好的 docker 镜像。如果希望在自己编译和搭建的 OpenMLDB 环境下进行测试,需要配置使用我们[面向特征工程优化的 Spark 发行版](../tutorial/openmldbspark_distribution.md)。请参考相关[编译](../deploy/compile.md)(参考章节:“针对OpenMLDB优化的Spark发行版”)和[安装部署文档](../deploy/install_deploy.md)(参考章节:“部署TaskManager” - “2 修改配置文件conf/taskmanager.properties”)。 +注意,本文档使用的是预编译好的 Docker 镜像。如果希望在自己编译和搭建的 OpenMLDB 环境下进行测试,需要配置使用[面向特征工程优化的 Spark 发行版](https://openmldb.ai/docs/zh/main/tutorial/openmldbspark_distribution.html)。请参考[针对 OpenMLDB 优化的 Spark 发行版文档](https://openmldb.ai/docs/zh/main/deploy/compile.html#openmldb-spark)和[安装部署文档](https://openmldb.ai/docs/zh/main/deploy/install_deploy.html)。 -## 1. 环境准备和预备知识 +## 环境准备和预备知识 -### 1.1 拉取和启动 OpenMLDB Docker 镜像 +### 拉取和启动 OpenMLDB Docker 镜像 -- 注意,请确保 Docker Engine 版本号 >= 18.03 +- Docker:>= 18.03 - 拉取 OpenMLDB docker 镜像,并且运行相应容器: -```bash -docker run -it 4pdosc/openmldb:0.7.1 bash -``` + ```bash + docker run -it 4pdosc/openmldb:0.7.0 bash + ``` + 该镜像预装了OpenMLDB,并预置了本案例所需要的所有脚本、三方库、开源工具以及训练数据。 ```{note} -注意,本教程以下的所有演示命令默认均在该已经启动的 docker 容器内运行。 +注意,本教程以下的 OpenMLDB 部分的演示命令默认均在启动的 Docker 容器 `openmldb` 内运行。 ``` -### 1.2 初始化环境 +### 初始化环境 ```bash ./init.sh cd taxi-trip ``` -我们在镜像内提供了init.sh脚本帮助用户快速初始化环境,包括: +镜像内提供了 init.sh 脚本帮助用户快速初始化环境,包括: - 配置 zookeeper - 启动集群版 OpenMLDB -### 1.3 启动 OpenMLDB CLI 客户端 +### 启动 OpenMLDB CLI 客户端 ```bash /work/openmldb/bin/openmldb --zk_cluster=127.0.0.1:2181 --zk_root_path=/openmldb --role=sql_client ``` -```{note} -注意,本教程大部分命令在 OpenMLDB CLI 下执行,为了跟普通 shell 环境做区分,在 OpenMLDB CLI 下执行的命令均使用特殊的提示符 `>` 。 -``` -### 1.4 预备知识:集群版的非阻塞任务 +### 预备知识:异步任务 -集群版的部分命令是非阻塞任务,包括在线模式的 `LOAD DATA`,以及离线模式的 `LOAD DATA` ,`SELECT`,`SELECT INTO` 命令。提交任务以后可以使用相关的命令如 `SHOW JOBS`, `SHOW JOB` 来查看任务进度,详情参见[离线任务管理文档](../openmldb_sql/task_manage)。 +集群版 OpenMLDB 部分命令是异步的,如:在线/离线模式的 `LOAD DATA`、`SELECT`、`SELECT INTO` 命令。提交任务以后可以使用相关的命令如 `SHOW JOBS`, `SHOW JOB` 来查看任务进度,详情参见[离线任务管理文档](../openmldb_sql/task_manage)。 -## 2. 机器学习全流程 +## 机器学习全流程 -### 2.1 创建数据库和数据表 +### 步骤 1:创建数据库和表 -以下命令均在 OpenMLDB CLI 环境下执行。 +创建数据库 `demo_db` 和数据表 `t1`: ```sql -> CREATE DATABASE demo_db; -> USE demo_db; -> CREATE TABLE t1(id string, vendor_id int, pickup_datetime timestamp, dropoff_datetime timestamp, passenger_count int, pickup_longitude double, pickup_latitude double, dropoff_longitude double, dropoff_latitude double, store_and_fwd_flag string, trip_duration int); +--OpenMLDB CLI +CREATE DATABASE demo_db; +USE demo_db; +CREATE TABLE t1(id string, vendor_id int, pickup_datetime timestamp, dropoff_datetime timestamp, passenger_count int, pickup_longitude double, pickup_latitude double, dropoff_longitude double, dropoff_latitude double, store_and_fwd_flag string, trip_duration int); ``` -### 2.2 离线数据准备 +### 步骤 2:导入离线数据 首先,切换到离线执行模式。接着,导入样例数据 `/work/taxi-trip/data/taxi_tour_table_train_simple.csv` 作为离线数据,用于离线特征计算。 -以下命令均在 OpenMLDB CLI 下执行。 - ```sql -> USE demo_db; -> SET @@execute_mode='offline'; -> LOAD DATA INFILE '/work/taxi-trip/data/taxi_tour_table_train_simple.snappy.parquet' INTO TABLE t1 options(format='parquet', header=true, mode='append'); +--OpenMLDB CLI +USE demo_db; +SET @@execute_mode='offline'; +LOAD DATA INFILE '/work/taxi-trip/data/taxi_tour_table_train_simple.snappy.parquet' INTO TABLE t1 options(format='parquet', header=true, mode='append'); ``` ```{note} -注意,集群版 `LOAD DATA` 为非阻塞任务,可以使用命令 `SHOW JOBS` 查看任务运行状态,请等待任务运行成功( `state` 转至 `FINISHED` 状态),再进行下一步操作 。 +`LOAD DATA` 为异步任务,可以使用命令 `SHOW JOBS` 查看任务运行状态,请等待任务运行成功( `state` 转至 `FINISHED` 状态),再进行下一步操作 。 ``` -### 2.3 特征设计 +### 步骤 3:特征设计 -通常在设计特征前,用户需要根据机器学习的目标对数据进行分析,然后根据分析设计和调研特征。机器学习的数据分析和特征研究不是本文讨论的范畴,我们将不作展开。本文假定用户具备机器学习的基本理论知识,有解决机器学习问题的能力,能够理解SQL语法,并能够使用SQL语法构建特征。 +通常在设计特征前,用户需要根据机器学习的目标对数据进行分析,然后根据分析设计和调研特征。然而,机器学习的数据分析和特征研究并不是本文讨论的范畴。本文假定用户具备机器学习的基本理论知识,有解决机器学习问题的能力,能够理解 SQL 语法,并能够使用 SQL 语法构建特征。针对本案例,用户经过分析和调研设计了若干特征。 针对本案例,用户经过分析和调研设计了若干特征: @@ -92,16 +90,17 @@ cd taxi-trip | pc_cnt | 最近1天时间窗口内,相同载客量trips总数 | `count(vendor_id) OVER w2` | | vendor_cnt | 最近1天时间窗口内,同品牌出租车trips总数 | `count(vendor_id) OVER w AS vendor_cnt` | -请注意,在实际的机器学习特征调研过程中,科学家对特征进行反复试验,寻求模型效果最好的特征集。所以会不断的重复多次[特征设计](#2.3-特征设计)->[离线特征抽取](#2.4-离线特征抽取)->[模型训练](#2.5-模型训练)过程,并不断调整特征以达到预期效果。 +在实际的机器学习特征调研过程中,科学家对特征进行反复试验,寻求模型效果最好的特征集。所以会不断地重复多次“特征设计->离线特征抽取->模型训练”过程,并不断调整特征以达到预期效果。 -### 2.4 离线特征抽取 +### 步骤 4:离线特征抽取 -用户在离线模式下,进行特征抽取,并将特征结果输出到`/tmp/feature_data`目录下保存,以供后续的模型训练。 `SELECT` 命令对应了基于上述特征设计所产生的 SQL 特征计算脚本。以下命令均在 OpenMLDB CLI 下执行。 +用户在离线模式下,进行特征抽取,并将特征结果输出到 `/tmp/feature_data` 目录下保存,以供后续的模型训练。 `SELECT` 命令对应了基于上述特征设计所产生的 SQL 特征计算脚本。 ```sql -> USE demo_db; -> SET @@execute_mode='offline'; -> SELECT trip_duration, passenger_count, +--OpenMLDB CLI +USE demo_db; +SET @@execute_mode='offline'; +SELECT trip_duration, passenger_count, sum(pickup_latitude) OVER w AS vendor_sum_pl, max(pickup_latitude) OVER w AS vendor_max_pl, min(pickup_latitude) OVER w AS vendor_min_pl, @@ -121,22 +120,23 @@ w2 AS (PARTITION BY passenger_count ORDER BY pickup_datetime ROWS_RANGE BETWEEN 注意,集群版 `SELECT INTO` 为非阻塞任务,可以使用命令 `SHOW JOBS` 查看任务运行状态,请等待任务运行成功( `state` 转至 `FINISHED` 状态),再进行下一步操作 。 ``` -### 2.5 模型训练 +### 步骤 5:模型训练 1. 模型训练不在 OpenMLDB 内完成,因此首先通过以下 `quit` 命令退出 OpenMLDB CLI。 -``` -> quit -``` + ``` + quit + ``` -2. 在普通命令行下,执行 train.py(`/work/taxi-trip`目录中),使用开源训练工具 `lightgbm` 基于上一步生成的离线特征表进行模型训练,训练结果存放在 `/tmp/model.txt`中。 +2. 在普通命令行下,执行 train.py(`/work/taxi-trip` 目录中),使用开源训练工具 `lightgbm` 基于上一步生成的离线特征表进行模型训练,训练结果存放在 `/tmp/model.txt` 中。 -```bash -python3 train.py /tmp/feature_data /tmp/model.txt -``` -### 2.6 特征抽取SQL脚本上线 + ```bash + python3 train.py /tmp/feature_data /tmp/model.txt + ``` -假定[2.3节中所设计的特征](#2.3-特征设计)在上一步的模型训练中产出的模型符合预期,那么下一步就是将该特征抽取SQL脚本部署到线上去,以提供在线的特征抽取。 +### 步骤 6:特征抽取 SQL 脚本上线 + +假定[步骤 3 所设计的特征](#步骤-3特征设计)在上一步的模型训练中产出的模型符合预期,那么下一步就是将该特征抽取 SQL 脚本部署到线上去,以提供在线特征抽取服务。 1. 重新启动 OpenMLDB CLI,以进行 SQL 上线部署 @@ -144,40 +144,44 @@ python3 train.py /tmp/feature_data /tmp/model.txt /work/openmldb/bin/openmldb --zk_cluster=127.0.0.1:2181 --zk_root_path=/openmldb --role=sql_client ``` -2. 执行上线部署,以下命令在 OpenMLDB CLI 内执行。 +2. 执行上线部署 + + ```sql + --OpenMLDB CLI + USE demo_db; + SET @@execute_mode='online'; + DEPLOY demo SELECT trip_duration, passenger_count, + sum(pickup_latitude) OVER w AS vendor_sum_pl, + max(pickup_latitude) OVER w AS vendor_max_pl, + min(pickup_latitude) OVER w AS vendor_min_pl, + avg(pickup_latitude) OVER w AS vendor_avg_pl, + sum(pickup_latitude) OVER w2 AS pc_sum_pl, + max(pickup_latitude) OVER w2 AS pc_max_pl, + min(pickup_latitude) OVER w2 AS pc_min_pl, + avg(pickup_latitude) OVER w2 AS pc_avg_pl, + count(vendor_id) OVER w2 AS pc_cnt, + count(vendor_id) OVER w AS vendor_cnt + FROM t1 + WINDOW w AS (PARTITION BY vendor_id ORDER BY pickup_datetime ROWS_RANGE BETWEEN 1d PRECEDING AND CURRENT ROW), + w2 AS (PARTITION BY passenger_count ORDER BY pickup_datetime ROWS_RANGE BETWEEN 1d PRECEDING AND CURRENT ROW); + ``` + +### 步骤 7:导入在线数据 + +首先,请切换到**在线**执行模式。接着在在线模式下,导入样例数据 `/work/taxi-trip/data/taxi_tour_table_train_simple.csv` 作为在线数据,用于在线特征计算。 ```sql -> USE demo_db; -> SET @@execute_mode='online'; -> DEPLOY demo SELECT trip_duration, passenger_count, -sum(pickup_latitude) OVER w AS vendor_sum_pl, -max(pickup_latitude) OVER w AS vendor_max_pl, -min(pickup_latitude) OVER w AS vendor_min_pl, -avg(pickup_latitude) OVER w AS vendor_avg_pl, -sum(pickup_latitude) OVER w2 AS pc_sum_pl, -max(pickup_latitude) OVER w2 AS pc_max_pl, -min(pickup_latitude) OVER w2 AS pc_min_pl, -avg(pickup_latitude) OVER w2 AS pc_avg_pl, -count(vendor_id) OVER w2 AS pc_cnt, -count(vendor_id) OVER w AS vendor_cnt -FROM t1 -WINDOW w AS (PARTITION BY vendor_id ORDER BY pickup_datetime ROWS_RANGE BETWEEN 1d PRECEDING AND CURRENT ROW), -w2 AS (PARTITION BY passenger_count ORDER BY pickup_datetime ROWS_RANGE BETWEEN 1d PRECEDING AND CURRENT ROW); +--OpenMLDB CLI +USE demo_db; +SET @@execute_mode='online'; +LOAD DATA INFILE 'file:///work/taxi-trip/data/taxi_tour_table_train_simple.csv' INTO TABLE t1 options(format='csv', header=true, mode='append'); ``` -### 2.7 在线数据准备 -首先,请切换到**在线**执行模式。接着在在线模式下,导入样例数据 `/work/taxi-trip/data/taxi_tour_table_train_simple.csv` 作为在线数据,用于在线特征计算。以下命令均在 OpenMLDB CLI 下执行。 - -```sql -> USE demo_db; -> SET @@execute_mode='online'; -> LOAD DATA INFILE 'file:///work/taxi-trip/data/taxi_tour_table_train_simple.csv' INTO TABLE t1 options(format='csv', header=true, mode='append'); -``` ```{note} -注意,集群版 `LOAD DATA` 为非阻塞任务,可以使用命令 `SHOW JOBS` 查看任务运行状态,请等待任务运行成功( `state` 转至 `FINISHED` 状态),再进行下一步操作 。 +`LOAD DATA` 为异步任务,可以使用命令 `SHOW JOBS` 查看任务运行状态,请等待任务运行成功( `state` 转至 `FINISHED` 状态),再进行下一步操作。 ``` -### 2.8 启动预估服务 +### 步骤 8:启动预估服务 1. 如果尚未退出 OpenMLDB CLI,请使用 `quit` 命令退出 OpenMLDB CLI。 2. 在普通命令行下启动预估服务: @@ -185,7 +189,7 @@ w2 AS (PARTITION BY passenger_count ORDER BY pickup_datetime ROWS_RANGE BETWEEN ```bash ./start_predict_server.sh 127.0.0.1:9080 /tmp/model.txt ``` -### 2.9 发送预估请求 +### 步骤 9:发送预估请求 在普通命令行下执行内置的 `predict.py` 脚本。该脚本发送一行请求数据到预估服务,接收返回的预估结果,并打印出来。 From b989a146cb3cb88c449de4d9fbe32ce7ba0992d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E6=AC=A3?= Date: Sat, 28 Jan 2023 17:12:48 +0800 Subject: [PATCH 03/14] ll --- docs/zh/about/intro.md | 4 ++-- docs/zh/conf.py | 2 +- docs/zh/quickstart/openmldb_quickstart.md | 4 +--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/zh/about/intro.md b/docs/zh/about/intro.md index 53db82d70b6..d72bade5b86 100644 --- a/docs/zh/about/intro.md +++ b/docs/zh/about/intro.md @@ -1,6 +1,6 @@ # 简介 -OpenMLDB 是一个开源机器学习数据库,提供线上线下一致的生产级特征平台。 +OpenMLDB 是一个开源机器学习数据库,起源于人工智能平台提供商[第四范式](https://www.4paradigm.com/)的商业化组件。OpenMLDB 是目前普遍定义的 feature store 类产品的一个超集。除了可以同时在线下和线上供给正确的特征以外,其主要优势在于提供毫秒级的实时特征计算,提供线上线下一致的生产级特征平台。 ## 设计理念 @@ -54,7 +54,7 @@ OpenMLDB 完成从特征的离线开发到上线部署,只需要以下三个 **OpenMLDB 为什么选择 SQL 作为开发语言?** - SQL 具备表达语法简洁且功能强大的特点,选用 SQL 和数据库开发体验一方面降低开发门槛,另一方面更易于跨部门之间的协作和共享。此外,基于 OpenMLDB 的实践经验表明,经过优化过的 SQL 在特征计算的表达上功能完备,已经经历了长时间的实践考验。 + SQL 具备表达语法简洁且功能强大的特点,选用 SQL 作为开发语言一方面降低开发门槛,另一方面更易于跨部门之间的协作和共享。此外,基于 OpenMLDB 的实践经验表明,经过优化过的 SQL 在特征计算的表达上功能完备,已经经历了长时间的实践考验。OpenMLDB SQL 是标准 SQL 的子集且针对性地新增了部分语法 。 ## 学术论文 diff --git a/docs/zh/conf.py b/docs/zh/conf.py index d1c6aa699c1..664be58a90d 100644 --- a/docs/zh/conf.py +++ b/docs/zh/conf.py @@ -140,7 +140,7 @@ # Whitelist pattern for branches (set to None to ignore all branches) # include branch that is main or v{X}.{Y} -smv_branch_whitelist = r"^(main|v\d+\.\d+)$" +smv_branch_whitelist = r"^(main|usecase2)$" # allow remote origin or upstream smv_remote_whitelist = r"^(origin|upstream)$" diff --git a/docs/zh/quickstart/openmldb_quickstart.md b/docs/zh/quickstart/openmldb_quickstart.md index e3d430eb25c..c334f599a19 100644 --- a/docs/zh/quickstart/openmldb_quickstart.md +++ b/docs/zh/quickstart/openmldb_quickstart.md @@ -6,9 +6,7 @@ OpenMLDB 的主要使用场景为作为机器学习的实时特征平台。其 ![modes-flow](concepts/images/modes-flow.png) - - -可以看到,OpenMLDB 会覆盖机器学习的特征计算环节,从离线开发到线上实时请求服务的完整流程。可以参考文档 [使用流程和执行模式](concepts/modes.md) 来详细了解。本文讲按照基本使用流程,逐步演示一个快速上手的例子。 +可以看到,OpenMLDB 会覆盖机器学习的特征计算环节,从离线开发到线上实时请求服务的完整流程。可以参考文档[使用流程和执行模式](concepts/modes.md)来详细了解。本文将按照基本使用流程,逐步演示一个快速上手和了解 OpenMLDB 的例子。 ## 准备 From 29ee1f090c5a38038ef9d07531d515491aea13c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E6=AC=A3?= Date: Sat, 28 Jan 2023 17:18:35 +0800 Subject: [PATCH 04/14] ll --- .../use_case/taxi_tour_duration_prediction.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/docs/zh/use_case/taxi_tour_duration_prediction.md b/docs/zh/use_case/taxi_tour_duration_prediction.md index 809bd679b26..be141e3651a 100644 --- a/docs/zh/use_case/taxi_tour_duration_prediction.md +++ b/docs/zh/use_case/taxi_tour_duration_prediction.md @@ -1,19 +1,22 @@ -# OpenMLDB + LightGBM:出租车行程时间预测 +# 出租车行程时间预测 (OpenMLDB + LightGBM) 本文将以 [Kaggle 上的出租车行车时间预测问题](https://www.kaggle.com/c/nyc-taxi-trip-duration/overview)为例,示范如何使用 OpenMLDB 和 LightGBM 联合来打造一个完整的机器学习应用。 注意,本文档使用的是预编译好的 Docker 镜像。如果希望在自己编译和搭建的 OpenMLDB 环境下进行测试,需要配置使用[面向特征工程优化的 Spark 发行版](https://openmldb.ai/docs/zh/main/tutorial/openmldbspark_distribution.html)。请参考[针对 OpenMLDB 优化的 Spark 发行版文档](https://openmldb.ai/docs/zh/main/deploy/compile.html#openmldb-spark)和[安装部署文档](https://openmldb.ai/docs/zh/main/deploy/install_deploy.html)。 -## 环境准备和预备知识 +## 准备和预备知识 -### 拉取和启动 OpenMLDB Docker 镜像 +本文基于 OpenMLDB CLI 进行开发和部署,首先需要下载样例数据并且启动 OpenMLDB CLI。推荐使用 Docker 镜像来快速体验。 -- Docker:>= 18.03 -- 拉取 OpenMLDB docker 镜像,并且运行相应容器: +- Docker 版本:>= 18.03 - ```bash - docker run -it 4pdosc/openmldb:0.7.0 bash - ``` +### 拉取镜像 + +在命令行执行以下命令拉取 OpenMLDB 镜像,并启动 Docker 容器: + +```bash +docker run -it 4pdosc/openmldb:0.7.1 bash +``` 该镜像预装了OpenMLDB,并预置了本案例所需要的所有脚本、三方库、开源工具以及训练数据。 From 04b85c64ec60c33dacc1cced2aa864a3fd62e0e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E6=AC=A3?= Date: Sat, 28 Jan 2023 17:24:13 +0800 Subject: [PATCH 05/14] ll --- .../use_case/taxi_tour_duration_prediction.md | 58 +++++++++---------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/docs/zh/use_case/taxi_tour_duration_prediction.md b/docs/zh/use_case/taxi_tour_duration_prediction.md index be141e3651a..5a6f38ca2d9 100644 --- a/docs/zh/use_case/taxi_tour_duration_prediction.md +++ b/docs/zh/use_case/taxi_tour_duration_prediction.md @@ -35,15 +35,15 @@ cd taxi-trip - 配置 zookeeper - 启动集群版 OpenMLDB -### 启动 OpenMLDB CLI 客户端 +### 启动 OpenMLDB CLI ```bash /work/openmldb/bin/openmldb --zk_cluster=127.0.0.1:2181 --zk_root_path=/openmldb --role=sql_client ``` -### 预备知识:异步任务 +### 预备知识 -集群版 OpenMLDB 部分命令是异步的,如:在线/离线模式的 `LOAD DATA`、`SELECT`、`SELECT INTO` 命令。提交任务以后可以使用相关的命令如 `SHOW JOBS`, `SHOW JOB` 来查看任务进度,详情参见[离线任务管理文档](../openmldb_sql/task_manage)。 +集群版 OpenMLDB 部分命令是异步的,如:在线/离线模式的 `LOAD DATA`、`SELECT`、`SELECT INTO` 命令。提交任务以后可以使用相关的命令如 `SHOW JOBS`、`SHOW JOB` 来查看任务进度,详情参见[离线任务管理文档](../openmldb_sql/task_manage/SHOW_JOB.md)。 ## 机器学习全流程 @@ -120,22 +120,22 @@ w2 AS (PARTITION BY passenger_count ORDER BY pickup_datetime ROWS_RANGE BETWEEN ``` ```{note} -注意,集群版 `SELECT INTO` 为非阻塞任务,可以使用命令 `SHOW JOBS` 查看任务运行状态,请等待任务运行成功( `state` 转至 `FINISHED` 状态),再进行下一步操作 。 +`SELECT INTO` 为异步任务,可以使用命令 `SHOW JOBS` 查看任务运行状态,请等待任务运行成功( `state` 转至 `FINISHED` 状态),再进行下一步操作 。 ``` ### 步骤 5:模型训练 1. 模型训练不在 OpenMLDB 内完成,因此首先通过以下 `quit` 命令退出 OpenMLDB CLI。 - ``` - quit - ``` + ``` + quit + ``` 2. 在普通命令行下,执行 train.py(`/work/taxi-trip` 目录中),使用开源训练工具 `lightgbm` 基于上一步生成的离线特征表进行模型训练,训练结果存放在 `/tmp/model.txt` 中。 - ```bash - python3 train.py /tmp/feature_data /tmp/model.txt - ``` + ```bash + python3 train.py /tmp/feature_data /tmp/model.txt + ``` ### 步骤 6:特征抽取 SQL 脚本上线 @@ -149,25 +149,25 @@ w2 AS (PARTITION BY passenger_count ORDER BY pickup_datetime ROWS_RANGE BETWEEN 2. 执行上线部署 - ```sql - --OpenMLDB CLI - USE demo_db; - SET @@execute_mode='online'; - DEPLOY demo SELECT trip_duration, passenger_count, - sum(pickup_latitude) OVER w AS vendor_sum_pl, - max(pickup_latitude) OVER w AS vendor_max_pl, - min(pickup_latitude) OVER w AS vendor_min_pl, - avg(pickup_latitude) OVER w AS vendor_avg_pl, - sum(pickup_latitude) OVER w2 AS pc_sum_pl, - max(pickup_latitude) OVER w2 AS pc_max_pl, - min(pickup_latitude) OVER w2 AS pc_min_pl, - avg(pickup_latitude) OVER w2 AS pc_avg_pl, - count(vendor_id) OVER w2 AS pc_cnt, - count(vendor_id) OVER w AS vendor_cnt - FROM t1 - WINDOW w AS (PARTITION BY vendor_id ORDER BY pickup_datetime ROWS_RANGE BETWEEN 1d PRECEDING AND CURRENT ROW), - w2 AS (PARTITION BY passenger_count ORDER BY pickup_datetime ROWS_RANGE BETWEEN 1d PRECEDING AND CURRENT ROW); - ``` + ```sql + --OpenMLDB CLI + USE demo_db; + SET @@execute_mode='online'; + DEPLOY demo SELECT trip_duration, passenger_count, + sum(pickup_latitude) OVER w AS vendor_sum_pl, + max(pickup_latitude) OVER w AS vendor_max_pl, + min(pickup_latitude) OVER w AS vendor_min_pl, + avg(pickup_latitude) OVER w AS vendor_avg_pl, + sum(pickup_latitude) OVER w2 AS pc_sum_pl, + max(pickup_latitude) OVER w2 AS pc_max_pl, + min(pickup_latitude) OVER w2 AS pc_min_pl, + avg(pickup_latitude) OVER w2 AS pc_avg_pl, + count(vendor_id) OVER w2 AS pc_cnt, + count(vendor_id) OVER w AS vendor_cnt + FROM t1 + WINDOW w AS (PARTITION BY vendor_id ORDER BY pickup_datetime ROWS_RANGE BETWEEN 1d PRECEDING AND CURRENT ROW), + w2 AS (PARTITION BY passenger_count ORDER BY pickup_datetime ROWS_RANGE BETWEEN 1d PRECEDING AND CURRENT ROW); + ``` ### 步骤 7:导入在线数据 From 0b90c044c1eab51aa943d71e859b9918e0b4f3a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E6=AC=A3?= Date: Sat, 28 Jan 2023 19:39:16 +0800 Subject: [PATCH 06/14] ll --- docs/zh/use_case/JD_recommendation.md | 4 ++-- docs/zh/use_case/taxi_tour_duration_prediction.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/zh/use_case/JD_recommendation.md b/docs/zh/use_case/JD_recommendation.md index af7d98ba30d..2c3cab8bf1a 100644 --- a/docs/zh/use_case/JD_recommendation.md +++ b/docs/zh/use_case/JD_recommendation.md @@ -143,13 +143,13 @@ echo "show jobs;" | /work/openmldb/bin/openmldb --zk_cluster=127.0.0.1:2181 --zk #### 2.2.3 特征设计 -通常在设计特征前,用户需要根据机器学习的目标对数据进行分析,然后根据分析设计和调研特征。机器学习的数据分析和特征研究不是本文讨论的范畴,我们将不作展开。本文假定用户具备机器学习的基本理论知识,有解决机器学习问题的能力,能够理解SQL语法,并能够使用SQL语法构建特征。针对本案例,用户经过分析和调研设计了若干特征。 +通常在设计特征前,需要根据机器学习的目标对数据进行分析,然后根据分析设计和调研特征。机器学习的数据分析和特征研究不是本文讨论的范畴,我们将不作展开。本文假定用户具备机器学习的基本理论知识,有解决机器学习问题的能力,能够理解SQL语法,并能够使用SQL语法构建特征。针对本案例,经过分析和调研设计了若干特征。 请注意,在实际的机器学习特征调研过程中,科学家对特征进行反复试验,寻求模型效果最好的特征集。所以会不断的重复多次特征设计->离线特征抽取->模型训练过程,并不断调整特征以达到预期效果。 #### 2.2.4 离线特征抽取 -源数据准备好以后,就可以进行离线特征抽取,我们将特征结果输出到`'/work/oneflow_demo/out/1'`目录下保存(对应映射为`$demodir/out/1`,方便容器外部使用特征数据),以供后续的模型训练。 `SELECT` 命令对应了基于上述特征设计所产生的 SQL 特征计算脚本。 +源数据准备好以后,就可以进行离线特征抽取,我们将特征结果输出到 `'/work/oneflow_demo/out/1'` 目录下保存(对应映射为 `$demodir/out/1`,方便容器外部使用特征数据),以供后续的模型训练。 `SELECT` 命令对应了基于上述特征设计所产生的 SQL 特征计算脚本。 ```sql > USE JD_db; > select * from diff --git a/docs/zh/use_case/taxi_tour_duration_prediction.md b/docs/zh/use_case/taxi_tour_duration_prediction.md index 5a6f38ca2d9..afa1e013977 100644 --- a/docs/zh/use_case/taxi_tour_duration_prediction.md +++ b/docs/zh/use_case/taxi_tour_duration_prediction.md @@ -76,7 +76,7 @@ LOAD DATA INFILE '/work/taxi-trip/data/taxi_tour_table_train_simple.snappy.parqu 通常在设计特征前,用户需要根据机器学习的目标对数据进行分析,然后根据分析设计和调研特征。然而,机器学习的数据分析和特征研究并不是本文讨论的范畴。本文假定用户具备机器学习的基本理论知识,有解决机器学习问题的能力,能够理解 SQL 语法,并能够使用 SQL 语法构建特征。针对本案例,用户经过分析和调研设计了若干特征。 -针对本案例,用户经过分析和调研设计了若干特征: +针对本案例,经过分析和调研设计了若干特征: | 特征名 | 特征含义 | SQL特征表示 | | --------------- | --------------------------------------------------------- | --------------------------------------- | @@ -128,10 +128,10 @@ w2 AS (PARTITION BY passenger_count ORDER BY pickup_datetime ROWS_RANGE BETWEEN 1. 模型训练不在 OpenMLDB 内完成,因此首先通过以下 `quit` 命令退出 OpenMLDB CLI。 ``` - quit + quit; ``` -2. 在普通命令行下,执行 train.py(`/work/taxi-trip` 目录中),使用开源训练工具 `lightgbm` 基于上一步生成的离线特征表进行模型训练,训练结果存放在 `/tmp/model.txt` 中。 +2. 在普通命令行下,执行 train.py(`/work/taxi-trip` 目录中),使用开源训练工具 `lightgbm` 基于上一步生成的离线特征表进行模型训练,训练结果存放在 `/tmp/model.txt` 中。 ```bash python3 train.py /tmp/feature_data /tmp/model.txt From e8fe617a71133874984b2bbcd884fbe19a36bb4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E6=AC=A3?= <117905435+selenachenjingxin@users.noreply.github.com> Date: Sat, 28 Jan 2023 19:44:21 +0800 Subject: [PATCH 07/14] Update conf.py --- docs/zh/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh/conf.py b/docs/zh/conf.py index 664be58a90d..d1c6aa699c1 100644 --- a/docs/zh/conf.py +++ b/docs/zh/conf.py @@ -140,7 +140,7 @@ # Whitelist pattern for branches (set to None to ignore all branches) # include branch that is main or v{X}.{Y} -smv_branch_whitelist = r"^(main|usecase2)$" +smv_branch_whitelist = r"^(main|v\d+\.\d+)$" # allow remote origin or upstream smv_remote_whitelist = r"^(origin|upstream)$" From ba4dd6bcb4cb25aae784d7506fd9c71d74b52a93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E6=AC=A3?= <117905435+selenachenjingxin@users.noreply.github.com> Date: Thu, 9 Feb 2023 11:59:40 +0800 Subject: [PATCH 08/14] Update taxi_tour_duration_prediction.md --- .../use_case/taxi_tour_duration_prediction.md | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/docs/zh/use_case/taxi_tour_duration_prediction.md b/docs/zh/use_case/taxi_tour_duration_prediction.md index afa1e013977..534bb65fd5f 100644 --- a/docs/zh/use_case/taxi_tour_duration_prediction.md +++ b/docs/zh/use_case/taxi_tour_duration_prediction.md @@ -30,7 +30,7 @@ docker run -it 4pdosc/openmldb:0.7.1 bash ./init.sh cd taxi-trip ``` -镜像内提供了 init.sh 脚本帮助用户快速初始化环境,包括: +镜像内提供的 init.sh 脚本帮助用户快速初始化环境,包括: - 配置 zookeeper - 启动集群版 OpenMLDB @@ -43,7 +43,7 @@ cd taxi-trip ### 预备知识 -集群版 OpenMLDB 部分命令是异步的,如:在线/离线模式的 `LOAD DATA`、`SELECT`、`SELECT INTO` 命令。提交任务以后可以使用相关的命令如 `SHOW JOBS`、`SHOW JOB` 来查看任务进度,详情参见[离线任务管理文档](../openmldb_sql/task_manage/SHOW_JOB.md)。 +OpenMLDB 部分命令是异步的,如:在线/离线模式的 `LOAD DATA`、`SELECT`、`SELECT INTO` 命令。提交任务以后可以使用相关命令如 `SHOW JOBS`、`SHOW JOB` 来查看任务进度,详情参见[离线任务管理文档](../openmldb_sql/task_manage/SHOW_JOB.md)。 ## 机器学习全流程 @@ -60,7 +60,7 @@ CREATE TABLE t1(id string, vendor_id int, pickup_datetime timestamp, dropoff_dat ### 步骤 2:导入离线数据 -首先,切换到离线执行模式。接着,导入样例数据 `/work/taxi-trip/data/taxi_tour_table_train_simple.csv` 作为离线数据,用于离线特征计算。 +首先,切换到离线执行模式。接着,导入样例数据 `/work/taxi-trip/data/taxi_tour_table_train_simple.snappy.parquet` 作为离线数据,用于离线特征计算。 ```sql --OpenMLDB CLI @@ -69,7 +69,7 @@ SET @@execute_mode='offline'; LOAD DATA INFILE '/work/taxi-trip/data/taxi_tour_table_train_simple.snappy.parquet' INTO TABLE t1 options(format='parquet', header=true, mode='append'); ``` ```{note} -`LOAD DATA` 为异步任务,可以使用命令 `SHOW JOBS` 查看任务运行状态,请等待任务运行成功( `state` 转至 `FINISHED` 状态),再进行下一步操作 。 +`LOAD DATA` 为异步任务,请使用命令 `SHOW JOBS` 查看任务运行状态,等待任务运行成功( `state` 转至 `FINISHED` 状态),再进行下一步操作 。 ``` ### 步骤 3:特征设计 @@ -120,7 +120,7 @@ w2 AS (PARTITION BY passenger_count ORDER BY pickup_datetime ROWS_RANGE BETWEEN ``` ```{note} -`SELECT INTO` 为异步任务,可以使用命令 `SHOW JOBS` 查看任务运行状态,请等待任务运行成功( `state` 转至 `FINISHED` 状态),再进行下一步操作 。 +`SELECT INTO` 为异步任务,请使用命令 `SHOW JOBS` 查看任务运行状态,等待任务运行成功( `state` 转至 `FINISHED` 状态),再进行下一步操作 。 ``` ### 步骤 5:模型训练 @@ -141,13 +141,13 @@ w2 AS (PARTITION BY passenger_count ORDER BY pickup_datetime ROWS_RANGE BETWEEN 假定[步骤 3 所设计的特征](#步骤-3特征设计)在上一步的模型训练中产出的模型符合预期,那么下一步就是将该特征抽取 SQL 脚本部署到线上去,以提供在线特征抽取服务。 -1. 重新启动 OpenMLDB CLI,以进行 SQL 上线部署 +1. 重新启动 OpenMLDB CLI,以进行 SQL 上线部署: ```bash /work/openmldb/bin/openmldb --zk_cluster=127.0.0.1:2181 --zk_root_path=/openmldb --role=sql_client ``` -2. 执行上线部署 +2. 执行上线部署: ```sql --OpenMLDB CLI @@ -181,17 +181,21 @@ LOAD DATA INFILE 'file:///work/taxi-trip/data/taxi_tour_table_train_simple.csv' ``` ```{note} -`LOAD DATA` 为异步任务,可以使用命令 `SHOW JOBS` 查看任务运行状态,请等待任务运行成功( `state` 转至 `FINISHED` 状态),再进行下一步操作。 +`LOAD DATA` 为异步任务,请使用命令 `SHOW JOBS` 查看任务运行状态,等待任务运行成功( `state` 转至 `FINISHED` 状态),再进行下一步操作。 ``` ### 步骤 8:启动预估服务 -1. 如果尚未退出 OpenMLDB CLI,请使用 `quit` 命令退出 OpenMLDB CLI。 +1. 如果尚未退出 OpenMLDB CLI,先退出 OpenMLDB CLI。 + + ``` + quit; + ``` 2. 在普通命令行下启动预估服务: -```bash -./start_predict_server.sh 127.0.0.1:9080 /tmp/model.txt -``` + ```bash + ./start_predict_server.sh 127.0.0.1:9080 /tmp/model.txt + ``` ### 步骤 9:发送预估请求 在普通命令行下执行内置的 `predict.py` 脚本。该脚本发送一行请求数据到预估服务,接收返回的预估结果,并打印出来。 From e12a07427883ff34e951e3fd0f4d1e1178872997 Mon Sep 17 00:00:00 2001 From: LU MIAN Date: Thu, 16 Feb 2023 21:38:24 +0800 Subject: [PATCH 09/14] Update intro.md --- docs/zh/about/intro.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/zh/about/intro.md b/docs/zh/about/intro.md index d72bade5b86..f29d4ecc1ed 100644 --- a/docs/zh/about/intro.md +++ b/docs/zh/about/intro.md @@ -1,6 +1,6 @@ # 简介 -OpenMLDB 是一个开源机器学习数据库,起源于人工智能平台提供商[第四范式](https://www.4paradigm.com/)的商业化组件。OpenMLDB 是目前普遍定义的 feature store 类产品的一个超集。除了可以同时在线下和线上供给正确的特征以外,其主要优势在于提供毫秒级的实时特征计算,提供线上线下一致的生产级特征平台。 +OpenMLDB 是一个开源机器学习数据库,提供线上线下一致的生产级特征平台。 ## 设计理念 @@ -54,7 +54,7 @@ OpenMLDB 完成从特征的离线开发到上线部署,只需要以下三个 **OpenMLDB 为什么选择 SQL 作为开发语言?** - SQL 具备表达语法简洁且功能强大的特点,选用 SQL 作为开发语言一方面降低开发门槛,另一方面更易于跨部门之间的协作和共享。此外,基于 OpenMLDB 的实践经验表明,经过优化过的 SQL 在特征计算的表达上功能完备,已经经历了长时间的实践考验。OpenMLDB SQL 是标准 SQL 的子集且针对性地新增了部分语法 。 + SQL 具备表达语法简洁且功能强大的特点,选用 SQL 作为开发语言一方面降低开发门槛,另一方面更易于跨部门之间的协作和共享。此外,基于 OpenMLDB 的实践经验表明,经过优化过的 SQL 在特征计算的表达上功能完备,已经经历了长时间的实践考验。 ## 学术论文 From 1693b1dfb2fdadce6491dd976a03da9670a24cff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E6=AC=A3?= <117905435+selenachenjingxin@users.noreply.github.com> Date: Thu, 23 Feb 2023 10:22:53 +0800 Subject: [PATCH 10/14] Update taxi_tour_duration_prediction.md --- docs/zh/use_case/taxi_tour_duration_prediction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh/use_case/taxi_tour_duration_prediction.md b/docs/zh/use_case/taxi_tour_duration_prediction.md index 534bb65fd5f..2bfd9ef1656 100644 --- a/docs/zh/use_case/taxi_tour_duration_prediction.md +++ b/docs/zh/use_case/taxi_tour_duration_prediction.md @@ -2,7 +2,7 @@ 本文将以 [Kaggle 上的出租车行车时间预测问题](https://www.kaggle.com/c/nyc-taxi-trip-duration/overview)为例,示范如何使用 OpenMLDB 和 LightGBM 联合来打造一个完整的机器学习应用。 -注意,本文档使用的是预编译好的 Docker 镜像。如果希望在自己编译和搭建的 OpenMLDB 环境下进行测试,需要配置使用[面向特征工程优化的 Spark 发行版](https://openmldb.ai/docs/zh/main/tutorial/openmldbspark_distribution.html)。请参考[针对 OpenMLDB 优化的 Spark 发行版文档](https://openmldb.ai/docs/zh/main/deploy/compile.html#openmldb-spark)和[安装部署文档](https://openmldb.ai/docs/zh/main/deploy/install_deploy.html)。 +注意,本文档使用的是预编译好的 Docker 镜像。如果希望在自己编译和搭建的 OpenMLDB 环境下进行测试,需要配置使用[面向特征工程优化的 Spark 发行版](../tutorial/openmldbspark_distribution.md)。请参考[针对 OpenMLDB 优化的 Spark 发行版文档](https://openmldb.ai/docs/zh/main/deploy/compile.html#openmldb-spark)和[安装部署文档](https://openmldb.ai/docs/zh/main/deploy/install_deploy.html)。 ## 准备和预备知识 From 179e2ac957e917ddd06d7982c8e50290bb2cbffd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E6=AC=A3?= Date: Thu, 23 Feb 2023 10:31:19 +0800 Subject: [PATCH 11/14] Update taxi_tour_duration_prediction.md --- docs/zh/use_case/taxi_tour_duration_prediction.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/docs/zh/use_case/taxi_tour_duration_prediction.md b/docs/zh/use_case/taxi_tour_duration_prediction.md index 534bb65fd5f..f0ace7db368 100644 --- a/docs/zh/use_case/taxi_tour_duration_prediction.md +++ b/docs/zh/use_case/taxi_tour_duration_prediction.md @@ -2,7 +2,7 @@ 本文将以 [Kaggle 上的出租车行车时间预测问题](https://www.kaggle.com/c/nyc-taxi-trip-duration/overview)为例,示范如何使用 OpenMLDB 和 LightGBM 联合来打造一个完整的机器学习应用。 -注意,本文档使用的是预编译好的 Docker 镜像。如果希望在自己编译和搭建的 OpenMLDB 环境下进行测试,需要配置使用[面向特征工程优化的 Spark 发行版](https://openmldb.ai/docs/zh/main/tutorial/openmldbspark_distribution.html)。请参考[针对 OpenMLDB 优化的 Spark 发行版文档](https://openmldb.ai/docs/zh/main/deploy/compile.html#openmldb-spark)和[安装部署文档](https://openmldb.ai/docs/zh/main/deploy/install_deploy.html)。 +注意,本文档使用的是预编译好的 Docker 镜像。如果希望在自己编译和搭建的 OpenMLDB 环境下进行测试,需要配置使用[面向特征工程优化的 Spark 发行版](https://openmldb.ai/docs/zh/main/tutorial/openmldbspark_distribution.html)。请参考[针对 OpenMLDB 优化的 Spark 发行版文档](../tutorial/openmldbspark_distribution.md#openmldb-spark-发行版)和[安装部署文档](../deploy/install_deploy.md#2-修改配置文件conftaskmanagerproperties)。 ## 准备和预备知识 @@ -21,7 +21,7 @@ docker run -it 4pdosc/openmldb:0.7.1 bash 该镜像预装了OpenMLDB,并预置了本案例所需要的所有脚本、三方库、开源工具以及训练数据。 ```{note} -注意,本教程以下的 OpenMLDB 部分的演示命令默认均在启动的 Docker 容器 `openmldb` 内运行。 +注意,本教程以下的 OpenMLDB 部分的演示命令默认均在启动的 Docker 容器内运行。 ``` ### 初始化环境 @@ -41,9 +41,9 @@ cd taxi-trip /work/openmldb/bin/openmldb --zk_cluster=127.0.0.1:2181 --zk_root_path=/openmldb --role=sql_client ``` -### 预备知识 +### 预备知识:异步任务 -OpenMLDB 部分命令是异步的,如:在线/离线模式的 `LOAD DATA`、`SELECT`、`SELECT INTO` 命令。提交任务以后可以使用相关命令如 `SHOW JOBS`、`SHOW JOB` 来查看任务进度,详情参见[离线任务管理文档](../openmldb_sql/task_manage/SHOW_JOB.md)。 +OpenMLDB 部分命令是异步的,如:在线/离线模式的 `LOAD DATA`、`SELECT`、`SELECT INTO` 命令。提交任务以后可以使用相关命令如 `SHOW JOBS`、`SHOW JOB` 来查看任务进度,详情参见[离线任务管理文档](../openmldb_sql/task_manage/index.rst)。 ## 机器学习全流程 @@ -74,9 +74,7 @@ LOAD DATA INFILE '/work/taxi-trip/data/taxi_tour_table_train_simple.snappy.parqu ### 步骤 3:特征设计 -通常在设计特征前,用户需要根据机器学习的目标对数据进行分析,然后根据分析设计和调研特征。然而,机器学习的数据分析和特征研究并不是本文讨论的范畴。本文假定用户具备机器学习的基本理论知识,有解决机器学习问题的能力,能够理解 SQL 语法,并能够使用 SQL 语法构建特征。针对本案例,用户经过分析和调研设计了若干特征。 - -针对本案例,经过分析和调研设计了若干特征: +通常在设计特征前,用户需要根据机器学习的目标对数据进行分析,然后根据分析设计和调研特征。然而,机器学习的数据分析和特征研究并不是本文讨论的范畴。本文假定用户具备机器学习的基本理论知识,有解决机器学习问题的能力,能够理解 SQL 语法,并能够使用 SQL 语法构建特征。针对本案例,假设用户经过分析和调研设计了以下若干特征: | 特征名 | 特征含义 | SQL特征表示 | | --------------- | --------------------------------------------------------- | --------------------------------------- | @@ -131,7 +129,7 @@ w2 AS (PARTITION BY passenger_count ORDER BY pickup_datetime ROWS_RANGE BETWEEN quit; ``` -2. 在普通命令行下,执行 train.py(`/work/taxi-trip` 目录中),使用开源训练工具 `lightgbm` 基于上一步生成的离线特征表进行模型训练,训练结果存放在 `/tmp/model.txt` 中。 +2. 在普通命令行下,执行 train.py(`/work/taxi-trip` 目录中),使用开源训练工具 `LightGBM` 基于上一步生成的离线特征表进行模型训练,训练结果存放在 `/tmp/model.txt` 中。 ```bash python3 train.py /tmp/feature_data /tmp/model.txt From 01bde6280463466d3f5ee9ca9f0465576fbaad0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E6=AC=A3?= Date: Thu, 23 Feb 2023 10:36:05 +0800 Subject: [PATCH 12/14] ll --- docs/zh/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh/conf.py b/docs/zh/conf.py index d1c6aa699c1..664be58a90d 100644 --- a/docs/zh/conf.py +++ b/docs/zh/conf.py @@ -140,7 +140,7 @@ # Whitelist pattern for branches (set to None to ignore all branches) # include branch that is main or v{X}.{Y} -smv_branch_whitelist = r"^(main|v\d+\.\d+)$" +smv_branch_whitelist = r"^(main|usecase2)$" # allow remote origin or upstream smv_remote_whitelist = r"^(origin|upstream)$" From ed97967338bd162302f55fc5b8086214f0adf91c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=99=AF=E6=AC=A3?= <117905435+selenachenjingxin@users.noreply.github.com> Date: Wed, 1 Mar 2023 22:53:21 +0800 Subject: [PATCH 13/14] Update taxi_tour_duration_prediction.md --- docs/zh/use_case/taxi_tour_duration_prediction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh/use_case/taxi_tour_duration_prediction.md b/docs/zh/use_case/taxi_tour_duration_prediction.md index 2bfd9ef1656..b7eb2ca8a3b 100644 --- a/docs/zh/use_case/taxi_tour_duration_prediction.md +++ b/docs/zh/use_case/taxi_tour_duration_prediction.md @@ -21,7 +21,7 @@ docker run -it 4pdosc/openmldb:0.7.1 bash 该镜像预装了OpenMLDB,并预置了本案例所需要的所有脚本、三方库、开源工具以及训练数据。 ```{note} -注意,本教程以下的 OpenMLDB 部分的演示命令默认均在启动的 Docker 容器 `openmldb` 内运行。 +注意,本教程以下的 OpenMLDB 部分的演示命令默认均在启动的 Docker 容器内运行。 ``` ### 初始化环境 From 740fadfac3e88898a20ce3f33f68879bfbaf6793 Mon Sep 17 00:00:00 2001 From: LU MIAN Date: Sun, 5 Mar 2023 15:07:33 +0800 Subject: [PATCH 14/14] revert confi.py --- docs/zh/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh/conf.py b/docs/zh/conf.py index 664be58a90d..d1c6aa699c1 100644 --- a/docs/zh/conf.py +++ b/docs/zh/conf.py @@ -140,7 +140,7 @@ # Whitelist pattern for branches (set to None to ignore all branches) # include branch that is main or v{X}.{Y} -smv_branch_whitelist = r"^(main|usecase2)$" +smv_branch_whitelist = r"^(main|v\d+\.\d+)$" # allow remote origin or upstream smv_remote_whitelist = r"^(origin|upstream)$"