通过以下示例,来描述如何通过AAT来连接AI和数据库。在实际使用过程中,请根据实际情况进行操作。
- 开启冷数据归档功能。
为了避免AI模型对数据库的频繁写入,PolarDB将AAT作为外部表存储在OSS上。故需要先开启冷数据归档功能。 - 创建数据库。
创建一个新的数据库polar4ai,系统自动生成的AAT默认存储在数据库polar4ai中。创建数据库时,字符集选择utf8mb4,授权账号需要和PolarDB for AI使用的账号保持一致,并授予该账号读写权限。 - 通过以下SQL语句训练一个AI模型。
/*polar4ai*/
CREATE MODEL airlines_gbm_copy1
WITH (model_class='lightgbm',
x_cols ='Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length',
y_cols='Delay',
model_parameter=(boosting_type='gbdt', n_estimators=100,
max_depth=8, num_leaves=256))
AS (SELECT * FROM airlines_train)
- 查看当前集群下的模型列表。
/*polar4ai*/SHOW MODELS;
查询结果如下:

5.使用训练好的模型进行离线预测,自动生成AAT。
/*polar4ai*/SELECT TripID,Delay
FROM
PREDICT (
MODEL airlines_gbm_copy1,
SELECT * FROM airlines_train_1000_copy1)
WITH
(
s_cols='TripID,Delay',
x_cols = 'Airline,Flight,AirportFrom,AirportTo,DayOfWeek,Time,Length',
y_cols='Delay',
primary_key='TripID', mode='async') INTO lightgbm_v2_predict82201;
其中,lightgbm_v2_predict82201为系统即将自动构建的AAT的表名,primary_key为表中的主键。离线预测SQL执行完成后,会返回一个任务ID。如:babc6d66-xxxx-yyyy-a4b8-1b1426ce8614。
6.查看离线任务状态。
通过离线任务ID来检查任务状态。当任务状态为finish时,代表AI模型已经完成相应推理。
/*polar4ai*/SHOW TASK `babc6d66-xxxx-yyyy-a4b8-1b1426ce8614`
执行结果如下:

7.查看在polar4ai数据库下自动生成的AAT表结构。
SHOW CREATE TABLE polar4ai.lightgbm_v2_predict82201;
执行结果如下:
CREATE TABLE `lightgbm_v2_predict82201` (
`TripID` bigint(20) NOT NULL,
`Delay` bigint(20) DEFAULT NULL,
`result` text,
PRIMARY KEY (`TripID`)
) ENGINE=CSV DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci /*!99990 800020204 NULL_MARKER='NULL' */ CONNECTION='default_oss_server'
新生成的AAT与原表相对比,TripID和Delay的类型和长度均与原表一致。result为AI模型推理出来的结果,并作为原表的增强列写入了AAT中。

8.查看AAT中的1000行数据。
SELECT * FROM polar4ai.lightgbm_v2_predict82201 LIMIT 1000;
执行结果如下:

由查询结果可以看出,新生成的result列包含预测值和不同类别的概率值。
9.通过AAT和数据库表进行连接操作。
自动生成的表lightgbm_v2_predict82201与数据库中其他表在使用上并无差异,可以与数据库中的其他表进行连接操作。示例如下:
SELECT * FROM
airlines_train_1000_copy1, polar4ai.lightgbm_v2_predict82204
WHERE
airlines_train_1000_copy1.TripID=polar4ai.lightgbm_v2_predict82204.TripID
AND
airlines_train_1000_copy1.Delay=1
执行结果如下:

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




