海南旅游大屏-精选数据集项目
项目设计
总体流程
数据血缘关系
原始业务数据(精选公共数据源)
biz_hainan_visits
数据表说明
- 海南到访信息
biz_hainan_attr
数据表说明
- 海南景点信息
biz_hainan_news
数据表说明
- 新闻信息
数据处理过程数据
part0 准备工作
1.切换角色:为机构admin(或者机构devop)
切换为机构角色后: 1. 可以创建机构项目 2. 可以多个人合作协作进行编辑
2.查询自己的机构信息
每一个机构都有自己独立的一整套信息
- 点击机构管理模块
- 点击机构资源,可以看到机构名称(后面会使用到)
- 或者点击右上角用户头像
3.获取本机构 Mysql 的链接信息
每一个机构,系统都为其会内置一套数据存储组件(Mysql,Hive等等),机构角色可以获得机构Mysql的链接方式如下:
1)切换到「数据管理」菜单
2)选择数据源链接
3)任意点击数据采集/数据导出/数据服务子菜单
4)在列表中可见预置数据源,点击获取地址
复制后得到以下格式的数据库信息
- mysql://数据库账号:密码@数据库地址:端口号/数据库db
这组信息可以用于BI工具数据源链接,或者是Jupyternotebook 把数据写入数据库时候所需要的配置信息
例如:
mysql://linktimetest0103org_admin:xxxxxxxxxx@pc-uf60wbgj8zn420251.rwlb.rds.aliyuncs.com:3306/bdos_org_linktimetest0103org_db
按照格式拆解后
- username:linktimetest0103org_admin
- password:xxxxxxxxxx(使用x脱敏替换了原始密码)
- 数据库地址:pc-uf60wbgj8zn420251.rwlb.rds.aliyuncs.com
- 端口:3306
- 数据库db:bdos_org_linktimetest0103org_db
4.创建一个数据工程项目
- 点击创建项目,填写项目必要信息,完成项目创建
5.查看公共数据集的数据
- 切换到数据管理模块
- 可以查看下上一个章节介绍过的本教程会使用的「精选数据集」
part1: 采集旅游原始数据,完成数据计算、导出
采集:海南来访数据
- 数据源
- 选择public_mysql_readonly
- 表
- biz_hainan_visits
- 数据范围
- 选择全量
- 导出字段
- 默认全选
- 下一步
- 是否需要对数据进行分区
- 取消勾选(本案例先不考虑数据分区的情况)
- Hive数据库名称
- 保持默认(默认就会选择机构Hive)
- Hive表名称
- 填写:biz_hainan_visits(为保证后续使用教程的方便,建议使用教程时候填写此表名)
- 保存
- 运行
采集:海南景点数据
- 数据源
- 选择public_mysql_readonly
- 表
- biz_hainan_attr
- 数据范围
- 选择全量
- 导出字段
- 默认全选
- 下一步
- 是否需要对数据进行分区
- 取消勾选(本案例先不考虑数据分区的情况)
- Hive数据库名称
- 保持默认(默认就会选择机构Hive)
- Hive表名称
- 填写:biz_hainan_attractions(为保证后续使用教程的方便,建议使用教程时候填写此表名)
- 保存
- 运行
采集:新闻数据
- 数据源
- 选择public_mysql_readonly
- 表
- biz_hainan_news
- 数据范围
- 选择全量
- 导出字段
- 默认全选
- 下一步
- 是否需要对数据进行分区
- 取消勾选(本案例先不考虑数据分区的情况)
- Hive数据库名称
- 保持默认(默认就会选择机构Hive)
- Hive表名称
- 填写:biz_hainan_news(为保证后续使用教程的方便,建议使用教程时候填写此表名)
- 保存
- 运行
然后:使用Hive程序,对采集进来的数据做清洗、切分以及计算(3个计算步骤)
数据计算-1:自驾路线
- 粘贴复制下面HQL代码,保存步骤并运行
- 修改第一句:替换 「机构名称」为当前机构的真实名称(可以参考part0中的第2步)
use org_机构名称; |
数据计算-2:景点到访
- 粘贴复制下面HQL代码,保存步骤并运行
- 修改第一句:替换 「机构名称」为当前机构的真实名称(可以参考part0中的第2步)
use org_机构名称; |
数据计算-3:来琼航班
- 粘贴复制下面HQL代码,保存步骤并运行
- 修改第一句:替换 「机构名称」为当前机构的真实名称(可以参考part0中的第2步)
use org_机构名称; |
数据计算-4:景点活动
- 粘贴复制下面HQL代码,保存步骤并运行
- 修改第一句:替换 「机构名称」为当前机构的真实名称(可以参考part0中的第2步)
use org_机构名称; |
数据计算-5:明星驻场
- 粘贴复制下面HQL代码,保存步骤并运行
- 修改第一句:替换 「机构名称」为当前机构的真实名称(可以参考part0中的第2步)
use org_机构名称; |
数据计算-6:区域到访
- 粘贴复制下面HQL代码,保存步骤并运行
- 修改第一句:替换 「机构名称」为当前机构的真实名称(可以参考part0中的第2步)
use org_机构名称; |
数据计算-7:景点空闲
- 粘贴复制下面HQL代码,保存步骤并运行
- 修改第一句:替换 「机构名称」为当前机构的真实名称(可以参考part0中的第2步)
use org_机构名称; |
数据计算-8:要点新闻
- 粘贴复制下面HQL代码,保存步骤并运行
- 修改第一句:替换 「机构名称」为当前机构的真实名称(可以参考part0中的第2步)
use org_机构名称; |
然后:使用ETL程序,清洗计算后的数据导出到数据集市待用
数据导出-1:导出自驾路线
- 数据源类型(输入源配置)
- 选择:Hive
- 数据源
- 选择:org_机构名 (机构Hive数据库,默认是下拉列表中第一个)
- 表
- 选择:ads_hainan_routes
- Query
- 保持默认
- 下一步
- 数据源类型(输出源配置)
- Mysql
- 数据源
- export-FM-ds-机构名(选择这个机构预置的Mysql输出源,默认是下拉列表中第一个)
- 表
- 填写:ads_hainan_routes
- 设置主键
- 保持默认
- 建表语句
- 点击:获取建表语句
- 数据变更
- 保持默认
- 下一步
- 点击「开始匹配」,得到匹配成功的提示
- 保存
- 运行
数据导出-2:导出景点到访
- 数据源类型(输入源配置)
- 选择:Hive
- 数据源
- 选择:org_机构名 (机构Hive数据库,默认是下拉列表中第一个)
- 表
- 选择:ads_hainan_attr_visits
Query
替换下面语句中的「机构名称」为本机构实际名称,查找办法参考part0-第二步
select ROW_NUMBER() OVER () as index, *
from
(select distinct `date`, region, attr_scale as `景点规模`, attr_hc as `人数` from `org_机构名称`.`ads_hainan_attr_visits`) a
点击「查询字段」
- 下一步
- 数据源类型(输出源配置)
- Mysql
- 数据源
- export-FM-ds-机构名(选择这个机构预置的Mysql输出源,默认是下拉列表中第一个)
- 表
- 填写:ads_hainan_attr_visits
- 设置主键
- 保持默认
- 建表语句
- 点击:获取建表语句
- 数据变更
- 保持默认
- 下一步
- 点击「开始匹配」,得到匹配成功的提示
- 保存
- 运行
数据导出-3:导出来琼航班
- 数据源类型(输入源配置)
- 选择:Hive
- 数据源
- 选择:org_机构名 (机构Hive数据库,默认是下拉列表中第一个)
- 表
- 选择:ads_hainan_flights
- Query
- 保持默认
- 下一步
- 数据源类型(输出源配置)
- Mysql
- 数据源
- export-FM-ds-机构名(选择这个机构预置的Mysql输出源,默认是下拉列表中第一个)
- 表
- 填写:ads_hainan_flights
- 设置主键
- 保持默认
- 建表语句
- 点击:获取建表语句
- 数据变更
- 保持默认
- 下一步
- 点击「开始匹配」,得到匹配成功的提示
- 保存
- 运行
数据导出-4:导出景点活动
- 数据源类型(输入源配置)
- 选择:Hive
- 数据源
- 选择:org_机构名 (机构Hive数据库,默认是下拉列表中第一个)
- 表
- 选择:ads_hainan_attr_act
Query
替换下面语句中的「机构名称」为本机构实际名称,查找办法参考part0-第二步
select ROW_NUMBER() OVER () as index, * from
(select distinct `date`, region, attr_act as `景点活动` from `org_机构名称`.`ads_hainan_attr_act`) a
点击「查询字段」
- 下一步
- 数据源类型(输出源配置)
- Mysql
- 数据源
- export-FM-ds-机构名(选择这个机构预置的Mysql输出源,默认是下拉列表中第一个)
- 表
- 填写:ads_hainan_attr_act
- 设置主键
- 保持默认
- 建表语句
- 点击:获取建表语句
- 数据变更
- 保持默认
- 下一步
- 点击「开始匹配」,得到匹配成功的提示
- 保存
- 运行
数据导出-5:导出明星驻场
- 数据源类型(输入源配置)
- 选择:Hive
- 数据源
- 选择:org_机构名 (机构Hive数据库,默认是下拉列表中第一个)
- 表
- 选择:ads_hainan_attr_cel
Query
替换下面语句中的「机构名称」为本机构实际名称,查找办法参考part0-第二步
select ROW_NUMBER() OVER () as index, * from
(select distinct `date`, region, attr_cel as `活动次数` from `org_机构名称`.`ads_hainan_attr_cel`) a
点击「查询字段」
- 下一步
- 数据源类型(输出源配置)
- Mysql
- 数据源
- export-FM-ds-机构名(选择这个机构预置的Mysql输出源,默认是下拉列表中第一个)
- 表
- 填写:ads_hainan_attr_cel
- 设置主键
- 保持默认
- 建表语句
- 点击:获取建表语句
- 数据变更
- 保持默认
- 下一步
- 点击「开始匹配」,得到匹配成功的提示
- 保存
- 运行
数据导出-6:导出区域到访
- 数据源类型(输入源配置)
- 选择:Hive
- 数据源
- 选择:org_机构名 (机构Hive数据库,默认是下拉列表中第一个)
- 表
- 选择:ads_hainan_visits
- Query
- 保持默认
- 下一步
- 数据源类型(输出源配置)
- Mysql
- 数据源
- export-FM-ds-机构名(选择这个机构预置的Mysql输出源,默认是下拉列表中第一个)
- 表
- 填写:ads_hainan_visits
- 设置主键
- 保持默认
- 建表语句
- 点击:获取建表语句
- 数据变更
- 保持默认
- 下一步
- 点击「开始匹配」,得到匹配成功的提示
- 保存
- 运行
数据导出-7:导出景点空闲
- 数据源类型(输入源配置)
- 选择:Hive
- 数据源
- 选择:org_机构名 (机构Hive数据库,默认是下拉列表中第一个)
- 表
- 选择:ads_hainan_attr_vac
Query
替换下面语句中的「机构名称」为本机构实际名称,查找办法参考part0-第二步
select ROW_NUMBER() OVER () as index, * from
(select distinct `date`, region, attr_vac as `景点使用情况` from `org_机构名称`.`ads_hainan_attr_vac`)a
点击「查询字段」
- 下一步
- 数据源类型(输出源配置)
- Mysql
- 数据源
- export-FM-ds-机构名(选择这个机构预置的Mysql输出源,默认是下拉列表中第一个)
- 表
- 填写:ads_hainan_attr_vac
- 设置主键
- 保持默认
- 建表语句
- 点击:获取建表语句
- 数据变更
- 保持默认
- 下一步
- 点击「开始匹配」,得到匹配成功的提示
- 保存
- 运行
数据导出-8:导出要点新闻
- 数据源类型(输入源配置)
- 选择:Hive
- 数据源
- 选择:org_机构名 (机构Hive数据库,默认是下拉列表中第一个)
- 表
- 选择:biz_hainan_news
- Query
- 保持默认
- 下一步
- 数据源类型(输出源配置)
- Mysql
- 数据源
- export-FM-ds-机构名(选择这个机构预置的Mysql输出源,默认是下拉列表中第一个)
- 表
- 填写:ads_hainan_news
- 设置主键
- 保持默认
- 建表语句
- 点击:获取建表语句
- 数据变更
- 保持默认
- 下一步
- 点击「开始匹配」,得到匹配成功的提示
- 保存
- 运行
数据导出-8:导出自驾线路坐标数据
- 数据源类型(输入源配置)
- 选择:MySQL
- 数据源
- 选择:public_mysql
- 表
- 选择:biz_hainan_visits_route
- Query
- 保持默认
- 下一步
- 数据源类型(输出源配置)
- Mysql
- 数据源
- export-FM-ds-机构名(选择这个机构预置的Mysql输出源,默认是下拉列表中第一个)
- 表
- 填写:ads_hainan_visits_route
- 设置主键
- 保持默认
- 建表语句
- 点击:获取建表语句
- 数据变更
- 保持默认
- 下一步
- 点击「开始匹配」,得到匹配成功的提示
- 保存
- 运行
part2: 梳理进度,规范步骤命名
- 蓝色属于已经完成的部分
# | 步骤名称 | 步骤类型 |
---|---|---|
1 | 1.1 数据库采集-1:来访 | 数据库采集 |
2 | 1.2 数据库采集-2:景点 | 数据库采集 |
3 | 1.3 数据库采集-3:新闻 | 数据库采集 |
4 | 1.4 Hive程序-1:自驾路线 | Hive程序 |
5 | 1.5 Hive程序-2:景点到访 | Hive程序 |
6 | 1.6 Hive程序-3:来琼航班 | Hive程序 |
7 | 1.7 Hive程序-4:景点活动 | Hive程序 |
8 | 1.8 Hive程序-5:明星驻场 | Hive程序 |
9 | 1.9 Hive程序-6:区域到访 | Hive程序 |
10 | 1.10 Hive程序-7:景点空闲 | Hive程序 |
11 | 1.11 Hive程序-8:要点新闻 | Hive程序 |
12 | 1.12 数据导出-1:导出自驾路线 | ETL程序 |
13 | 1.13 数据导出-2:导出景点到访 | ETL程序 |
14 | 1.14 数据导出-3:导出来琼航班 | ETL程序 |
15 | 1.15 数据导出-4:导出景点活动 | ETL程序 |
16 | 1.16 数据导出-5:导出明星驻场 | ETL程序 |
17 | 1.17 数据导出-6:导出区域到访 | ETL程序 |
18 | 1.18 数据导出-7:导出景点空闲 | ETL程序 |
19 | 1.19 数据导出-8:导出要点新闻 | ETL程序 |
20 | 2.1 API-1:自驾路线统计 | API |
21 | 2.2 API-2:景点到访统计 | API |
22 | 2.3 API-3:来琼航班统计 | API |
23 | 2.4 API-4:景点活动统计 | API |
24 | 2.5 API-5:明星驻场统计 | API |
25 | 2.6 API-6:区域到访统计 | API |
26 | 2.7 API-7:景点空闲统计 | API |
27 | 2.8 API-8:要点新闻 | API |
28 | 2.9 API-9:自驾路线坐标查询 | API |
28 | 3.1 Docker应用(通过配置):海南旅游大屏 | Docker应用(通过配置) |
part3: 创建 API
数据集市概览
# | 数据表 | API名称 | API路径 |
---|---|---|---|
1 | ads_hainan_routes | 自驾路线统计 | /hainanDashboard/driving |
2 | ads_hainan_attr_visits | 景点到访统计 | /hainanDashboard/attrVisits |
3 | ads_hainan_flights | 来琼航班统计 | /hainanDashboard/flights |
4 | ads_hainan_attr_act | 景点活动统计 | /hainanDashboard/attrAct |
5 | ads_hainan_attr_cel | 明星驻场统计 | /hainanDashboard/attrCel |
6 | ads_hainan_visits | 区域到访统计 | /hainanDashboard/visits |
7 | ads_hainan_attr_vac | 景点空闲统计 | /hainanDashboard/attrVac |
8 | ads_hainan_news | 要点新闻 | /hainanDashboard/news |
9 | hainan_visits_route | 自驾路线坐标查询 | /hainanDashboard/visitsRoute |
/hainanDashboard/driving(自驾路线统计)
数据源
- Ds-ds-机构名称(Mysql)
使用自定义sql
- 不使用(保持默认)
数据库
- bdos_org_机构名称_db(下拉框第一个)
- 数据表
- ads_hainan_routes
- 数据过滤
- 不填写(保持默认)
- 请求参数
- 添加:选择 date
- 关闭「可选参数」
- 其余保持默认
- 返回参数
- 添加:选择 region,routes
- region 的参数名调整为 name
- routes 的参数名调整为 value
- 保存
- 测试(需填写参数值)
- 值:20230106
- 发布
/hainanDashboard/attrVisits(景点到访统计)
数据源
- Ds-ds-机构名称(Mysql)
使用自定义sql
- 不使用(保持默认)
数据库
- bdos_org_机构名称_db(下拉框第一个)
- 数据表
- ads_hainan_attr_visits
- 数据过滤
- 不填写(保持默认)
- 请求参数
- 添加:选择 date
- 关闭「可选参数」
- 其余保持默认
- 返回参数
- 添加:选择 region,景点规模,人数
- region 的参数名调整为 name
- 景点规模 的参数名调整为 scale
- 人数 的参数名调整为 people
- 保存
- 测试(需填写参数值)
- 值:20230106
- 发布
/hainanDashboard/flights(来琼航班统计)
数据源
- Ds-ds-机构名称(Mysql)
使用自定义sql
- 不使用(保持默认)
数据库
- bdos_org_机构名称_db(下拉框第一个)
- 数据表
- ads_hainan_flights
- 数据过滤
- 不填写(保持默认)
- 请求参数
- 添加:选择 date
- 关闭「可选参数」
- 其余保持默认
- 返回参数
- 添加:选择 region,flights
- region 的参数名调整为 name
- flights 的参数名调整为 value
- 保存
- 测试(需填写参数值)
- 值:20230106
- 发布
/hainanDashboard/attrAct(景点活动统计)
数据源
- Ds-ds-机构名称(Mysql)
使用自定义sql
- 不使用(保持默认)
数据库
- bdos_org_机构名称_db(下拉框第一个)
- 数据表
- ads_hainan_attr_act
- 数据过滤
- 不填写(保持默认)
- 请求参数
- 添加:选择 date
- 关闭「可选参数」
- 其余保持默认
- 返回参数
- 添加:选择 region,景点活动
- region 的参数名调整为 name
- 景点活动 的参数名调整为 value
- 保存
- 测试(需填写参数值)
- 值:20230106
- 发布
/hainanDashboard/attrCel(明星驻场统计)
数据源
- Ds-ds-机构名称(Mysql)
使用自定义sql
- 不使用(保持默认)
数据库
- bdos_org_机构名称_db(下拉框第一个)
- 数据表
- ads_hainan_attr_cel
- 数据过滤
- 不填写(保持默认)
- 请求参数
- 添加:选择 date
- 关闭「可选参数」
- 其余保持默认
- 返回参数
- 添加:选择 region,活动次数
- region 的参数名调整为 name
- 活动次数 的参数名调整为 value
- 保存
- 测试(需填写参数值)
- 值:20230106
- 发布
/hainanDashboard/visits(区域到访统计)
数据源
- Ds-ds-机构名称(Mysql)
使用自定义sql
- 不使用(保持默认)
数据库
- bdos_org_机构名称_db(下拉框第一个)
- 数据表
- ads_hainan_visits
- 数据过滤
- 不填写(保持默认)
- 请求参数
- 添加:选择 date
- 关闭「可选参数」
- 其余保持默认
- 返回参数
- 添加:选择 region,visits
- region 的参数名调整为 name
- visits 的参数名调整为 value
- 保存
- 测试(需填写参数值)
- 值:20230106
- 发布
/hainanDashboard/attrVac(景点空闲统计)
数据源
- Ds-ds-机构名称(Mysql)
使用自定义sql
- 不使用(保持默认)
数据库
- bdos_org_机构名称_db(下拉框第一个)
- 数据表
- ads_hainan_attr_vac
- 数据过滤
- 不填写(保持默认)
- 请求参数
- 添加:选择 date
- 关闭「可选参数」
- 其余保持默认
- 返回参数
- 添加:选择 region,景点使用情况
- region 的参数名调整为 name
- 景点使用情况 的参数名调整为 value
- 保存
- 测试(需填写参数值)
- 值:20230106
- 发布
/hainanDashboard/news(要点新闻)
数据源
- Ds-ds-机构名称(Mysql)
使用自定义sql
- 不使用(保持默认)
数据库
- bdos_org_机构名称_db(下拉框第一个)
- 数据表
- ads_hainan_news
- 数据过滤
- 不填写(保持默认)
- 请求参数
- 添加:选择 date
- 关闭「可选参数」
- 其余保持默认
- 返回参数
- 添加:选择 news,timestamp
- news 的参数名调整为 news
- 其余保持默认
- 保存
- 测试(需填写参数值)
- 值:20230106
- 发布
/hainanDashboard/visitsRoute(自驾路线坐标查询)
数据源
- Ds-ds-机构名称(Mysql)
使用自定义sql
- 不使用(保持默认)
使用自定义sql
select * from ads_hainan_visits_route order by route_num,point_order |
- 保存
- 测试
- 发布
大屏发布
添加数据应用-Docker应用
使用下面的填写项来进行安装
- 镜像地址
onlinepublic/hainan-tourism-dashboard:1.0
- 通用配置
- CPU:0.1
- MEM:64
- DISK:1
- Instance:1
- 网络配置
- 容器端口:5000
- 其余:保持默认
- 环境变量
注意:每个机构发布的 api 地址都是不一样的,完整地址需要进行拼接
tips:如何获取一个 API 的完整地址?
- 创建 api的时候,系统固定的前缀+自定义的后缀 = 完整的 API 地址
- 参考下面截图的红色部分
**
- 键:
NEWS_API
,值:/online/机构名称/hainanDashboard/news
- 键:
DRIVING_API
,值:/online/机构名称/hainanDashboard/driving
- 键:
ATTRACTION_VISIT_API
,值:/online/机构名称/hainanDashboard/attrVisits
- 键:
REGION_VISIT_API
,值:/online/机构名称/hainanDashboard/visits
- 键:
STAR_ACTIVITY_API
,值:/online/机构名称/hainanDashboard/attrCel
- 键:
FLIGHT_API
,值:/online/机构名称/hainanDashboard/flights
- 键:
ATTRACTION_AVAILABILITY_API
,值:/online/机构名称/hainanDashboard/attrVac
- 键:
ATTRACTION_ACTIVITY_API
,值:/online/机构名称/hainanDashboard/attrAct
- 键:
VISITS_ROUTE_API
,值:/online/机构名称/hainanDashboard/visitsRoute
- 键:
API_BASE
,值:http://kong-svc.admin.svc.cluster.local:8000
- 键:
- 上传并安装
- 启动应用