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