You need to enable JavaScript to run this app.
导航
最佳实践:洞察数据从BMQ写入MySQL
最近更新时间:2024.09.14 15:41:20首次发布时间:2024.08.02 17:59:37

本文档介绍如何将洞察数据从BMQ写入MySQL。

概述:

内容洞察数据流配置,支持将客户BMQ中的内容数据,自动写入指定的MySQL中,客户侧可按照如下指引,完成基础配置,实现自动化写入。

前置准备:


说明

本文档适用于通过内容洞察PaaS数据流配置,自动化实现数据存储到MySQL的客户。

一、完善MySQL配置

创建MySQL资源


请参考文档:创建实例--云数据库 MySQL 版-火山引擎

配置白名单并绑定实例

控制台示意说明

MySQL控制台-创建白名单

请参考文档:创建白名单--云数据库 MySQL 版-火山引擎

绑定安全组及MySQL实例

请绑定安全组及MySQL实例

注意:请确保数据流所绑定的flink资源在所选安全组内


创建数据库与数据表


创建数据库,详见:创建数据库和账号--云数据库 MySQL 版-火山引擎

注意

洞察数据存在emoji,字符集需要选择utf8mb4,否则会导致数据写入失败


创建数据表:

注意

数据表字段类型中时间类型目前不支持时间格式,需要保障落库字段的类型为string的"YYYY-MM-DD hh:mm:ss"格式,或者是int的timestamp格式,否则会落库失败。

CREATE TABLE `insight_post_1` (
    `origin_id` varchar(32) NOT NULL COMMENT '原始ID',
    `post_id` varchar(32) NOT NULL COMMENT '发文ID',
    `publish_time` datetime NOT NULL COMMENT '发布时间',
    `push_ready_time` datetime DEFAULT NULL COMMENT '可消费时间',
    `main_domain` varchar(128) DEFAULT '' COMMENT '主域名',
    `domain` varchar(128) DEFAULT '' COMMENT '子域名',
    `url` varchar(128) DEFAULT '' COMMENT '网页URL',
    `title` text DEFAULT NULL COMMENT '标题',
    `feature` json DEFAULT NULL COMMENT '算法信息',
    `poi` json DEFAULT NULL COMMENT 'POI信息',
    `status` tinyint DEFAULT 1 COMMENT '视频状态',
    `post_type` tinyint DEFAULT 0 COMMENT '发文类型',
    `video_info` json DEFAULT NULL COMMENT '视频信息',
    `based_location` json DEFAULT NULL COMMENT '相关位置',
    `matched_task_ids` varchar(256) DEFAULT NULL COMMENT '命中任务ID',
    PRIMARY KEY (`origin_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='内容洞察数据表'

创建账号供洞察使用


注意

请创建账号供洞察使用,并配置该账号拥有以上数据库的读写权限(DML)


控制台示意说明

进入MySQL实例详情页,创建供洞察使用的账号

MySQL创建账号可参考:创建与管理账号--云数据库 MySQL 版-火山引擎

账号密码信息填写到洞察控制台

请将指定给洞察使用的账号密码同步填写至洞察数据流sink节点


二、洞察控制台创建数据流

创建洞察数据流


第一步:创建数据流,配置对应vpc与flink资源

控制台示意说明

创建数据流

点击数据流管理tab,点击右上角创建数据流按钮,

完善vpcflink资源信息

填写数据流名称与描述,选择数据流运行对应的VPC,完善flink资源配置。

注意:

  • 数据流所配置的所有云组件,均需在同一个VPC下,才可确保数据流正常运行。

  • 数据流跨vpc运行功能建设中,如有需求可联系洞察产研。

第二步:完善节点信息,提交保存

控制台示意说明

编辑source节点,选择洞察数据

点击source节点,按照提示完成编辑。
其中数据源选择洞察数据。

编辑sink节点,选择sink类型为MySQL

选择MySQL作为sink类型,按照提示填写相关内容。
注意:

  • 请提前创建好对应的数据库与数据表

  • 请填写MySQL资源对应的用户名与密码,洞察数据才可正常写入。

点击保存,节点标识变更

节点编辑完成后,点击保存。
若填写内容校验无误,节点标识变更为对号。
若节点信息填写有误,可查看节点提示信息。

第三步:校验数据流,校验通过后发布上线

控制台示意说明

点击发布数据流

节点编辑完成,且节点标识提示正确无误的情况下,可点击按钮【发布草稿到线上】发布数据流。

选择TOS桶并上传样例数据


发布数据流前需进行发布校验,上传样例数据,以确保数据可正常按照设置写入下游。

选择TOS桶以存储相关文件,并选择/上传将要进行校验的样例数据。

注意:

  • 请上传json格式的样例数据

  • 上传的新内容将会保存为文件并上传至已选择桶的 insight_verify/ 路径下,如没有该路径则会自动创建

洞察数据校验样例可参考:

insight_sample.json
11.35KB

点击启动校验

样例数据上传完毕后,点击按钮【启动校验】
校验预计需要3-5分钟请耐心等待

校验通过,发布数据流


校验通过后,可查看数据预览,确认无误后可发布数据流。

发布预计需要3-5分钟,请耐心等待。
发布成功后,前端状态变更为发布成功。


三、数据流发布上线,访问实例

数据流发布上线后,可连接实例,以查询数据
通过命令行连接实例--云数据库 MySQL 版-火山引擎