add fake event data
This commit is contained in:
268
backend/db/sql/clickhouse/insert-events.sql
Normal file
268
backend/db/sql/clickhouse/insert-events.sql
Normal file
@@ -0,0 +1,268 @@
|
|||||||
|
-- 插入follow事件
|
||||||
|
INSERT INTO
|
||||||
|
events (
|
||||||
|
event_id,
|
||||||
|
timestamp,
|
||||||
|
date,
|
||||||
|
hour,
|
||||||
|
user_id,
|
||||||
|
influencer_id,
|
||||||
|
content_id,
|
||||||
|
project_id,
|
||||||
|
event_type,
|
||||||
|
funnel_stage,
|
||||||
|
platform,
|
||||||
|
content_type,
|
||||||
|
content_status,
|
||||||
|
sentiment,
|
||||||
|
followers_count,
|
||||||
|
followers_change
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
generateUUIDv4() as event_id,
|
||||||
|
now() - interval rand() % 30 day - interval rand() % 24 hour as timestamp,
|
||||||
|
toDate(timestamp) as date,
|
||||||
|
toHour(timestamp) as hour,
|
||||||
|
concat('user_', toString(number % 1000)) as user_id,
|
||||||
|
concat('influencer_', toString(1 + number % 10)) as influencer_id,
|
||||||
|
concat('content_', toString(number % 500)) as content_id,
|
||||||
|
'project_demo' as project_id,
|
||||||
|
'follow' as event_type,
|
||||||
|
'interest' as funnel_stage,
|
||||||
|
multiIf(
|
||||||
|
number % 4 = 0,
|
||||||
|
'Instagram',
|
||||||
|
number % 4 = 1,
|
||||||
|
'TikTok',
|
||||||
|
number % 4 = 2,
|
||||||
|
'Twitter',
|
||||||
|
'Facebook'
|
||||||
|
) as platform,
|
||||||
|
multiIf(
|
||||||
|
number % 6 = 0,
|
||||||
|
'video',
|
||||||
|
number % 6 = 1,
|
||||||
|
'image',
|
||||||
|
number % 6 = 2,
|
||||||
|
'text',
|
||||||
|
number % 6 = 3,
|
||||||
|
'story',
|
||||||
|
number % 6 = 4,
|
||||||
|
'reel',
|
||||||
|
'live'
|
||||||
|
) as content_type,
|
||||||
|
'approved' as content_status,
|
||||||
|
multiIf(
|
||||||
|
number % 3 = 0,
|
||||||
|
'positive',
|
||||||
|
number % 3 = 1,
|
||||||
|
'neutral',
|
||||||
|
'negative'
|
||||||
|
) as sentiment,
|
||||||
|
100000 + (number % 900000) as followers_count,
|
||||||
|
1 as followers_change
|
||||||
|
FROM
|
||||||
|
numbers(1, 300);
|
||||||
|
|
||||||
|
-- 插入300个follow事件
|
||||||
|
-- 插入unfollow事件(数量少于follow以保证净增长)
|
||||||
|
INSERT INTO
|
||||||
|
events (
|
||||||
|
event_id,
|
||||||
|
timestamp,
|
||||||
|
date,
|
||||||
|
hour,
|
||||||
|
user_id,
|
||||||
|
influencer_id,
|
||||||
|
content_id,
|
||||||
|
project_id,
|
||||||
|
event_type,
|
||||||
|
funnel_stage,
|
||||||
|
platform,
|
||||||
|
content_type,
|
||||||
|
content_status,
|
||||||
|
sentiment,
|
||||||
|
followers_count,
|
||||||
|
followers_change
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
generateUUIDv4() as event_id,
|
||||||
|
now() - interval rand() % 30 day - interval rand() % 24 hour as timestamp,
|
||||||
|
toDate(timestamp) as date,
|
||||||
|
toHour(timestamp) as hour,
|
||||||
|
concat('user_', toString(number % 1000)) as user_id,
|
||||||
|
concat('influencer_', toString(1 + number % 10)) as influencer_id,
|
||||||
|
concat('content_', toString(number % 500)) as content_id,
|
||||||
|
'project_demo' as project_id,
|
||||||
|
'unfollow' as event_type,
|
||||||
|
'interest' as funnel_stage,
|
||||||
|
multiIf(
|
||||||
|
number % 4 = 0,
|
||||||
|
'Instagram',
|
||||||
|
number % 4 = 1,
|
||||||
|
'TikTok',
|
||||||
|
number % 4 = 2,
|
||||||
|
'Twitter',
|
||||||
|
'Facebook'
|
||||||
|
) as platform,
|
||||||
|
multiIf(
|
||||||
|
number % 6 = 0,
|
||||||
|
'video',
|
||||||
|
number % 6 = 1,
|
||||||
|
'image',
|
||||||
|
number % 6 = 2,
|
||||||
|
'text',
|
||||||
|
number % 6 = 3,
|
||||||
|
'story',
|
||||||
|
number % 6 = 4,
|
||||||
|
'reel',
|
||||||
|
'live'
|
||||||
|
) as content_type,
|
||||||
|
'approved' as content_status,
|
||||||
|
multiIf(
|
||||||
|
number % 3 = 0,
|
||||||
|
'positive',
|
||||||
|
number % 3 = 1,
|
||||||
|
'neutral',
|
||||||
|
'negative'
|
||||||
|
) as sentiment,
|
||||||
|
100000 + (number % 900000) as followers_count,
|
||||||
|
-1 as followers_change
|
||||||
|
FROM
|
||||||
|
numbers(1, 120);
|
||||||
|
|
||||||
|
-- 插入120个unfollow事件
|
||||||
|
-- 插入like事件
|
||||||
|
INSERT INTO
|
||||||
|
events (
|
||||||
|
event_id,
|
||||||
|
timestamp,
|
||||||
|
date,
|
||||||
|
hour,
|
||||||
|
user_id,
|
||||||
|
influencer_id,
|
||||||
|
content_id,
|
||||||
|
project_id,
|
||||||
|
event_type,
|
||||||
|
funnel_stage,
|
||||||
|
platform,
|
||||||
|
content_type,
|
||||||
|
content_status,
|
||||||
|
sentiment,
|
||||||
|
likes_count,
|
||||||
|
likes_change
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
generateUUIDv4() as event_id,
|
||||||
|
now() - interval rand() % 30 day - interval rand() % 24 hour as timestamp,
|
||||||
|
toDate(timestamp) as date,
|
||||||
|
toHour(timestamp) as hour,
|
||||||
|
concat('user_', toString(number % 1000)) as user_id,
|
||||||
|
concat('influencer_', toString(1 + number % 10)) as influencer_id,
|
||||||
|
concat('content_', toString(number % 500)) as content_id,
|
||||||
|
'project_demo' as project_id,
|
||||||
|
'like' as event_type,
|
||||||
|
'interest' as funnel_stage,
|
||||||
|
multiIf(
|
||||||
|
number % 4 = 0,
|
||||||
|
'Instagram',
|
||||||
|
number % 4 = 1,
|
||||||
|
'TikTok',
|
||||||
|
number % 4 = 2,
|
||||||
|
'Twitter',
|
||||||
|
'Facebook'
|
||||||
|
) as platform,
|
||||||
|
multiIf(
|
||||||
|
number % 6 = 0,
|
||||||
|
'video',
|
||||||
|
number % 6 = 1,
|
||||||
|
'image',
|
||||||
|
number % 6 = 2,
|
||||||
|
'text',
|
||||||
|
number % 6 = 3,
|
||||||
|
'story',
|
||||||
|
number % 6 = 4,
|
||||||
|
'reel',
|
||||||
|
'live'
|
||||||
|
) as content_type,
|
||||||
|
'approved' as content_status,
|
||||||
|
multiIf(
|
||||||
|
number % 3 = 0,
|
||||||
|
'positive',
|
||||||
|
number % 3 = 1,
|
||||||
|
'neutral',
|
||||||
|
'negative'
|
||||||
|
) as sentiment,
|
||||||
|
1000 + (number % 9000) as likes_count,
|
||||||
|
1 as likes_change
|
||||||
|
FROM
|
||||||
|
numbers(1, 500);
|
||||||
|
|
||||||
|
-- 插入500个like事件
|
||||||
|
-- 插入unlike事件(数量少于like以保证净增长)
|
||||||
|
INSERT INTO
|
||||||
|
events (
|
||||||
|
event_id,
|
||||||
|
timestamp,
|
||||||
|
date,
|
||||||
|
hour,
|
||||||
|
user_id,
|
||||||
|
influencer_id,
|
||||||
|
content_id,
|
||||||
|
project_id,
|
||||||
|
event_type,
|
||||||
|
funnel_stage,
|
||||||
|
platform,
|
||||||
|
content_type,
|
||||||
|
content_status,
|
||||||
|
sentiment,
|
||||||
|
likes_count,
|
||||||
|
likes_change
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
generateUUIDv4() as event_id,
|
||||||
|
now() - interval rand() % 30 day - interval rand() % 24 hour as timestamp,
|
||||||
|
toDate(timestamp) as date,
|
||||||
|
toHour(timestamp) as hour,
|
||||||
|
concat('user_', toString(number % 1000)) as user_id,
|
||||||
|
concat('influencer_', toString(1 + number % 10)) as influencer_id,
|
||||||
|
concat('content_', toString(number % 500)) as content_id,
|
||||||
|
'project_demo' as project_id,
|
||||||
|
'unlike' as event_type,
|
||||||
|
'interest' as funnel_stage,
|
||||||
|
multiIf(
|
||||||
|
number % 4 = 0,
|
||||||
|
'Instagram',
|
||||||
|
number % 4 = 1,
|
||||||
|
'TikTok',
|
||||||
|
number % 4 = 2,
|
||||||
|
'Twitter',
|
||||||
|
'Facebook'
|
||||||
|
) as platform,
|
||||||
|
multiIf(
|
||||||
|
number % 6 = 0,
|
||||||
|
'video',
|
||||||
|
number % 6 = 1,
|
||||||
|
'image',
|
||||||
|
number % 6 = 2,
|
||||||
|
'text',
|
||||||
|
number % 6 = 3,
|
||||||
|
'story',
|
||||||
|
number % 6 = 4,
|
||||||
|
'reel',
|
||||||
|
'live'
|
||||||
|
) as content_type,
|
||||||
|
'approved' as content_status,
|
||||||
|
multiIf(
|
||||||
|
number % 3 = 0,
|
||||||
|
'positive',
|
||||||
|
number % 3 = 1,
|
||||||
|
'neutral',
|
||||||
|
'negative'
|
||||||
|
) as sentiment,
|
||||||
|
1000 + (number % 9000) as likes_count,
|
||||||
|
-1 as likes_change
|
||||||
|
FROM
|
||||||
|
numbers(1, 200);
|
||||||
|
|
||||||
|
-- 插入200个unlike事件
|
||||||
Reference in New Issue
Block a user