intimate/sql/intimate_extractor.sql

86 lines
4.4 KiB
MySQL
Raw Normal View History

create database if not exists `intimate_extractor`;
use intimate_extractor;
2020-08-05 10:49:47 +00:00
CREATE TABLE IF NOT EXISTS `streamer_list` (
`urlhash` varchar(32) NOT NULL COMMENT '平台',
`url` text COMMENT 'url获取streamer列表的url',
`platform` varchar(255) NOT NULL COMMENT '平台',
`label` varchar(255) DEFAULT NULL COMMENT '必须的时候打上标签',
`serialize` blob DEFAULT NULL COMMENT '保存进程的必要计算数据',
`update_interval` int DEFAULT 120 COMMENT '分钟单位, 默认120分钟, 下次更新的时间间隔',
`update_time` Timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`error_msg` text DEFAULT NULL COMMENT '错误信息',
`operator` int DEFAULT 0 COMMENT '操作标志位, 根据不同解析方法有不同标志',
PRIMARY KEY (`urlhash`),
KEY `platform_idx` (`platform`),
KEY `update_time_idx` (`update_time`),
KEY `operator_idx` (`operator`)
)
CREATE TABLE IF NOT EXISTS `streamer` (
`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'所属 频道,分类 未必所有平台都有明确的标签',
2020-07-31 10:04:10 +00:00
`tag` json DEFAULT NULL COMMENT 'streamer 最新的tag',
`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 DEFAULT 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_user_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 `operator_idx` (`operator`)
);
CREATE TABLE IF NOT EXISTS `collect_log` (
`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 COMMENT '是否正在直播',
`is_error` tinyint(1) DEFAULT 0 COMMENT '是否采集数据的时候出错, 便于定位错误',
`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 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 COMMENT '错误信息',
PRIMARY KEY (`log_uid`),
KEY `streamer_uid_idx` (`streamer_uid`),
KEY `platform_idx` (`platform`),
KEY `user_id_idx` (`user_id`),
KEY `is_live_streaming_idx` (`is_live_streaming`),
KEY `is_error_idx` (`is_error`),
KEY `followers_idx` (`followers`),
KEY `views_idx` (`views`),
KEY `gratuity_idx` (`gratuity`),
KEY `update_time_idx` (`update_time`)
)