add fake event data

This commit is contained in:
2025-03-13 18:43:15 +08:00
parent bb98531073
commit b8ea4e7097

View 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事件