Amazon SageMaker AI 是一项完全托管的机器学习 (ML) 服务。借助 SageMaker AI,数据科学家和开发人员可以快速且自信地构建、训练和部署 ML 模型到生产就绪的托管环境中。
本页介绍如何将 Amazon Sagemaker 与 Timescale Cloud 服务集成。
集成之前
创建目标 Timescale Cloud 服务
您需要您的连接详细信息才能按照本页中的步骤操作。此过程也适用于自托管 TimescaleDB。
- 设置 AWS 账户
在 Timescale Cloud 服务中创建一个表,以存储 SageMaker 生成的模型预测。
连接到您的 Timescale Cloud 服务
对于 Timescale Cloud,在 Timescale 控制台中打开 SQL 编辑器。对于自托管,请使用
psql
。CREATE TABLE model_predictions (time TIMESTAMPTZ NOT NULL,model_name TEXT NOT NULL,prediction DOUBLE PRECISION NOT NULL);为了获得更好的性能和更轻松的实时分析,将表转换为超表
超表是 PostgreSQL 表,可按时间自动对数据进行分区。您与超表的交互方式与常规 PostgreSQL 表相同,但具有额外的功能,可以更轻松地管理时序数据。
SELECT create_hypertable('model_predictions', 'time');
创建 SageMaker Notebook 实例
- 在 Amazon SageMaker > Notebooks 和 Git 仓库中,单击
创建 Notebook 实例
。 - 按照向导创建默认 Notebook 实例。
- 在 Amazon SageMaker > Notebooks 和 Git 仓库中,单击
编写一个 Notebook 脚本,将数据插入到您的 Timescale Cloud 服务中
当您的 Notebook 实例处于
inService
状态时,单击Open JupyterLab
,然后单击conda_python3
。使用您的连接详细信息更新以下脚本,然后将其粘贴到 Notebook 中。
import psycopg2from datetime import datetimedef insert_prediction(model_name, prediction, host, port, user, password, dbname):conn = psycopg2.connect(host=host,port=port,user=user,password=password,dbname=dbname)cursor = conn.cursor()query = """INSERT INTO model_predictions (time, model_name, prediction)VALUES (%s, %s, %s);"""values = (datetime.utcnow(), model_name, prediction)cursor.execute(query, values)conn.commit()cursor.close()conn.close()# Example usageinsert_prediction(model_name="example_model",prediction=0.95,host="<host>",port="<port>",user="<user>",password="<password>",dbname="<dbname>")
测试您的 SageMaker 脚本
在您的 SageMaker notebook 中运行脚本。
验证数据是否在您的服务中
打开 SQL 编辑器 并检查
sensor_data
表SELECT * FROM model_predictions;您会看到类似以下内容
时间 模型名称 预测 2025-02-06 16:56:34.370316+00 timescale-cloud-model 0.95
现在,您可以无缝地将 Amazon SageMaker 与 Timescale Cloud 集成,以存储和分析机器学习模型生成的时序数据。您还可以将可视化工具(如 Grafana 或 Tableau)与 Timescale Cloud 集成,以创建模型预测的实时仪表板。
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页。