根据教程最初的方案设计,业务方期望了解每天的不同区域不同品类的销售情况。
在第五章中,我们已经产生了商城汇总表,里面包含了以天、城市、类目为维度记录了商品销售数量和销售总额。
关于商城明细表的数据应用,有多种方式:
1. 通过 SQL 直接提数,查看每日销售情况,比较简单,在此教程中不做介绍。
2. 通过 BI 软件(例如,腾讯云 BI)展示数据报表视图,相关文档请参见 腾讯云 BI 官网,本教程中不做介绍。
3. 通过 WeData 数据服务功能,产出供外部系统调用的 API 服务,在本教程中将重点介绍此部分。
下面我们介绍如何通过 WeData 数据服务功能,产出供外部系统调用的 API 服务。
开始开发数据服务接口前,我们需要先了解一个技术信息。
说明:
Hive 的特性是大数据处理,主要应用于处理大规模的结构化数据,特别是在数据仓库和大数据分析的场景。但是它的查询速度比较慢,不适合 API 这种需要快速查询出结果的场景,所以一般情况下不作为 API 的后端数据存储。必须将大数据中算出来的汇总数据导入到查询性能更好的引擎,在提供 API 查询。
MySQL 可以用于需要快速响应和事务支持的应用程序。它的查询速度快,支持复杂的查询和事务处理。
因此,我们将 MySQL 作为 API 的底层数据存储。
所以,接下来我们需要将计算后的数据再传输到 MySQL 数据库中。
环境准备
操作角色:企业管理员。
说明:
以下操作(环境与资源准备)涉及资源购买和付费内容,需要由企业管理员进行操作。
购买数据服务资源
1. 在 WeData 控制台中进入 执行资源组 页面,选择地域为北京,单击数据服务资源组进入页面,再单击创建按钮。
地域:本次教程中均选择北京地域的资源。
2. 在单击创建按钮后会进入数据服务资源组购买页面,在资源配置里,选择地域为北京,选择网络为步骤新建私有网络中创建好的私有网络,选择规格为测试规格。
规格:了解服务资源详细内容,请参见 服务资源计费说明。
3. 在关联项目空间里,选择关联项目为立即关联,关联在步骤 在 WeData 中创建项目 中创建好的项目,单击立即购买按钮。
购买 API 网关资源
1. 进入腾讯云官网 > 云原生 API 网关,第一次使用时,会需要开通权限,单击立即使用按钮。
2. 登录腾讯云控制台 > 实例列表,进入网关实例列表,选择地域为北京,单击新建按钮。
3. 配置选择里,选择地域为北京,选择实例规格为基础版,选择网络为步骤 新建私有网络 中创建好的私有网络。
可用区:私有网络中子网所在的可用区。
创建汇总表
建表 SQL 语句如下:
-- 在MySQL中创建汇总表 CREATE TABLE emall.dws_trade_order_productsales_1d ( order_date DATE NOT NULL, city_id INT NOT NULL, category_id INT NOT NULL, city_name VARCHAR(50) NOT NULL, category_name VARCHAR(50) NOT NULL, quantity INT NOT NULL, amount DECIMAL(10, 2) NOT NULL, pt_date VARCHAR(50) NOT NULL );
数据服务接口设计
接口入参:
字段名称 | 关联字段 | 是否必须 | 格式 |
日期 | order_date | 必须 | 日期 |
城市 | city_id | 非必须 | 城市编码,INT |
品类 | category_id | 非必须 | 品类编码,INT |
接口出参:
此处我们输出数据表所有字段。
数据服务接口开发
同步数据到 MySQL
首先我们需要先将 Hive 商城汇总表的数据同步到 MySQL 汇总表。
步骤1:创建数据同步任务
说明:
1. 在编排空间找到创建的商城数据任务开发 > 商城数据开发 > 单击离线同步,选择配置模式,单击确认。
任务名称:汇总数据同步到 MySQL。
开发模式:此处选择表单模式。
2. 依次配置数据来源和数据去向。
注意:
数据流向:Hive → MySQL。
无法在 WeData 中一键创建 MySQL 表,所以需要先在 MySQL 中创建数据表。
Hive 表筛选条件:order_date = '${yyyy-MM-dd-1d}'。
MySQL 写入模式:overwrite。
调度设置:
调度周期:选择周期。
执行时间设置为:01:00。
步骤2:建议依赖并提交
建议关联后的任务依赖关系如下图所示:
以上操作步骤完成后,数据将自动从 Hive 表中同步到 MySQL 中。
创建接口服务
步骤1:创建服务
1. 进入数据服务 > 服务开发页面,单击新建文件夹按钮,配置文件夹名称为商城 API,选择目标文件夹为根目录,单击确定按钮。
2. 再单击 + 号,选择新建 API 并单击进入新建 API 页面,选择配置方式为向导方式,再依次配置认证方式、关联网关和服务资源组,单击确定按钮。
认证方式:免认证。
关联网关:选择在步骤 购买 API 网关资源 中购买的 API 网关。
服务资源组:选择在步骤 购买数据服务资源 中购买的数据服务。
步骤2:设置数据来源
1. 此处选择 MySQL 数据源,并选择上个步骤中创建的汇总表。
步骤3:设置出入参
1. 依次配置请求参数、响应参数。
请求参数:
设置三个参数:date、city_id、category_id。
绑定数据库字段。
调整参数类型。
只保留 date 为必填,其他为非必填。
响应参数:
设置表的全部字段为输出字段。
快捷操作:选择绑定字段,参数名会自动带出。
调整参数类型。
2. 配置排序参数。
排序参数:设置 city_id、category_id 正序排序。
步骤4:API 测试
1. 单击测试按钮,在弹出的测试窗口里,填写必填参数 date,例如:2024-04-01,再单击发起调用按钮,等待响应并查看输出结果。
步骤5:提交
1. 测试通过后,单击提交按钮,提交后接口可用。
查看数据服务接口
数据服务 API 提交后,可在服务列表中查看此服务。并可在此列表对 API 进行管理,如设置可见性、设置告警、下线等操作。