1.最后一次数据存储结构重构.

2.数据最接近需求方.
This commit is contained in:
eson
2020-07-20 18:13:54 +08:00
parent 6369387179
commit f0f83a9f00
9 changed files with 296 additions and 140 deletions

View File

@@ -2,46 +2,56 @@ create database if not exists `intimate_extractor`;
use intimate_extractor;
CREATE TABLE IF NOT EXISTS `streamer` (
`uid` bigint AUTO_INCREMENT,
`platform` varchar(255) NOT NULL,
`user_id` varchar(255) NOT NULL,
`user_name` varchar(255) NOT NULL,
`live_url` text,
`channel` varchar(128) DEFAULT NULL,
`latest_log_uid` bigint,
`ext` json DEFAULT NULL,
`update_time` Timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`uid` bigint AUTO_INCREMENT COMMENT '自增UID, 便于查询定位',
`platform` varchar(255) NOT NULL COMMENT '平台',
`user_id` varchar(255) NOT NULL COMMENT '用户唯一UID',
`user_name` varchar(255) DEFAULT NULL COMMENT '用户名字 区别于ID',
`live_url` text COMMENT '直播的url',
`channel` varchar(128) DEFAULT NULL COMMENT'所属 频道,分类 未必所有平台都有明确的标签',
`ext` json DEFAULT NULL COMMENT '扩展类型, 把一些可能需要但是没字段的数据放在json扩展',
`is_update_streamer` tinyint(1) DEFAULT 0 COMMENT '是否需要持续更新streamer的信息. 1为需要,0则否',
`is_update_url` tinyint(1) DEFAULT 0 COMMENT '是否需要持续更新update_url. 1为需要,0则否',
`update_url` json NOT NULL COMMENT '更新数据的url, 如直播url, profile url等',
`update_interval` int DEFAULT 30 COMMENT '分钟单位, 默认30分钟, 下次更新的时间间隔',
`update_time` Timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`latest_log_uid` bigint COMMENT '最新更新的日志表的uid, 方便关联',
`error_msg` text DEFAULT NULL COMMENT '错误信息',
`operator` int DEFAULT 0 COMMENT '操作标志位, 根据不同解析方法有不同标志',
PRIMARY KEY (`uid`),
UNIQUE KEY `platform_anchor_id_idx` (`platform`, `user_id`),
KEY `platform_idx` (`platform`),
KEY `user_id_idx` (`user_id`),
KEY `user_name_idx` (`user_name`),
KEY `channel_idx` (`channel`),
KEY `update_time_idx` (`update_time`)
KEY `update_time_idx` (`update_time`),
KEY `operator_idx` (`operator`)
);
CREATE TABLE IF NOT EXISTS `collect_log` (
`log_uid` bigint AUTO_INCREMENT,
`streamer_uid` bigint,
`platform` varchar(255) NOT NULL,
`user_id` varchar(255) NOT NULL,
`log_uid` bigint AUTO_INCREMENT COMMENT '日志自增UID',
`streamer_uid` bigint COMMENT '对应streamer表的UID',
`platform` varchar(255) NOT NULL COMMENT '平台名称, 方便于搜索日志分类',
`user_id` varchar(255) NOT NULL COMMENT '用户UID',
`is_live_streaming` tinyint(1) DEFAULT 0,
`is_error` tinyint(1) DEFAULT 0,
`is_live_streaming` tinyint(1) DEFAULT 0 COMMENT '是否正在直播',
`is_error` tinyint(1) DEFAULT 0 COMMENT '是否采集数据的时候出错, 便于定位错误',
`followers` bigint(11) DEFAULT NULL,
`views` bigint(11) DEFAULT NULL,
`giver` json DEFAULT NULL,
`gratuity` bigint(11) DEFAULT NULL,
`followers` bigint(11) DEFAULT NULL COMMENT '关注数',
`views` bigint(11) DEFAULT NULL COMMENT '当前直播的观众',
`giver` json DEFAULT NULL COMMENT '打赏礼物者,和一些金额数据等, 数据类型异于平台',
`gratuity` bigint(11) DEFAULT NULL COMMENT '打赏值的总值, 数据类型异于平台',
`live_title` text DEFAULT NULL,
`live_start_time` Timestamp NULL DEFAULT NULL,
`live_end_time` Timestamp NULL DEFAULT NULL,
`update_time` Timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`tags` json DEFAULT NULL,
`ext` json DEFAULT NULL,
`live_title` text DEFAULT NULL COMMENT '直播标题',
`live_start_time` Timestamp NULL DEFAULT NULL COMMENT '直播开始时间',
`live_end_time` Timestamp NULL DEFAULT NULL COMMENT '直播结束时间',
`update_time` Timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '数据日志更新时间',
`tags` json DEFAULT NULL COMMENT '主播直播的类型标签, 非永久固定',
`ext` json DEFAULT NULL COMMENT '扩展字段, 用于一些数据不存在的字段, 便于记录扩展',
`error_msg` text DEFAULT NULL,
`error_msg` text DEFAULT NULL COMMENT '错误信息',
PRIMARY KEY (`log_uid`),
KEY `streamer_uid_idx` (`streamer_uid`),

View File

@@ -2,15 +2,17 @@ create database if not exists `intimate_source`;
use intimate_source;
CREATE TABLE IF NOT EXISTS `source_openrec` (
uid bigint AUTO_INCREMENT,
`url` text NOT NULL,
`target_type` varchar(64) NOT NULL,
`source` longtext DEFAULT NULL,
`ext` json DEFAULT NULL,
`pass_gob` blob DEFAULT NULL,
`update_time` Timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`operator` int DEFAULT 0,
`error_msg` text DEFAULT NULL,
uid bigint AUTO_INCREMENT COMMENT '自增UID',
`url` text NOT NULL COMMENT '获取源数据地址',
`source` longtext DEFAULT NULL COMMENT '源数据',
`ext` json DEFAULT NULL COMMENT '扩展字段',
`pass_gob` blob DEFAULT NULL COMMENT '需要给下个任务传递gob 序列花数据, 非必要不用',
`update_time` Timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新数据',
`error_msg` text DEFAULT NULL COMMENT '错误信息',
`target_type` varchar(64) NOT NULL COMMENT '目标类型',
`operator` int DEFAULT 0 COMMENT '操作标志位, 根据不同解析方法有不同标志',
PRIMARY KEY(`uid`),
KEY `operator_idx` (`operator`),
KEY `update_time_idx` (`update_time`),