feat(chalice): ch sessions search

This commit is contained in:
Taha Yassine Kraiem 2022-07-19 13:48:55 +02:00
parent 71b04f1708
commit ae53f2b139
8 changed files with 6302 additions and 2 deletions

1
ee/api/.gitignore vendored
View file

@ -205,7 +205,6 @@ Pipfile
/chalicelib/core/log_tool_sumologic.py
/chalicelib/core/metadata.py
/chalicelib/core/mobile.py
/chalicelib/core/sessions.py
/chalicelib/core/sessions_assignments.py
/chalicelib/core/sessions_metas.py
/chalicelib/core/sessions_mobs.py

File diff suppressed because it is too large Load diff

View file

@ -29,7 +29,6 @@ rm -rf ./chalicelib/core/log_tool_stackdriver.py
rm -rf ./chalicelib/core/log_tool_sumologic.py
rm -rf ./chalicelib/core/metadata.py
rm -rf ./chalicelib/core/mobile.py
rm -rf ./chalicelib/core/sessions.py
rm -rf ./chalicelib/core/sessions_assignments.py
rm -rf ./chalicelib/core/sessions_metas.py
rm -rf ./chalicelib/core/sessions_mobs.py

View file

@ -176,3 +176,13 @@ def get_general_stats():
def get_projects(context: schemas.CurrentContext = Depends(OR_context)):
return {"data": projects.get_projects(tenant_id=context.tenant_id, recording_state=True, gdpr=True, recorded=True,
stack_integrations=True, user_id=context.user_id)}
@app.post('/{projectId}/sessions/search2', tags=["sessions"])
def sessions_search2(projectId: int, data: schemas.FlatSessionsSearchPayloadSchema = Body(...),
context: schemas.CurrentContext = Depends(OR_context)):
if config("LEGACY_SEARCH", cast=bool, default=False):
data = sessions.search2_pg(data=data, project_id=projectId, user_id=context.user_id)
else:
data = sessions.search2_ch(data=data, project_id=projectId, user_id=context.user_id)
return {'data': data}

View file

@ -0,0 +1,258 @@
ALTER TABLE sessions
DROP COLUMN pages_count;
CREATE TABLE projects_metadata
(
project_id UInt32,
metadata_1 Nullable(String),
metadata_2 Nullable(String),
metadata_3 Nullable(String),
metadata_4 Nullable(String),
metadata_5 Nullable(String),
metadata_6 Nullable(String),
metadata_7 Nullable(String),
metadata_8 Nullable(String),
metadata_9 Nullable(String),
metadata_10 Nullable(String),
_timestamp DateTime DEFAULT now()
) ENGINE = ReplacingMergeTree(_timestamp)
PARTITION BY toYYYYMM(_timestamp)
ORDER BY (project_id)
SETTINGS index_granularity = 512;
CREATE TABLE IF NOT EXISTS events_s
(
session_id UInt64,
project_id UInt32,
event_type Enum8('CLICK'=0, 'INPUT'=1, 'PAGE'=2,'RESOURCE'=3,'REQUEST'=4,'PERFORMANCE'=5,'LONGTASK'=6,'ERROR'=7,'CUSTOM'=8),
datetime DateTime,
label Nullable(String),
hesitation_time Nullable(UInt32),
name Nullable(String),
payload Nullable(String),
level Nullable(Enum8('info'=0, 'error'=1)) DEFAULT if(event_type == 'CUSTOM', 'info', null),
source Nullable(Enum8('js_exception'=0, 'bugsnag'=1, 'cloudwatch'=2, 'datadog'=3, 'elasticsearch'=4, 'newrelic'=5, 'rollbar'=6, 'sentry'=7, 'stackdriver'=8, 'sumologic'=9)),
message Nullable(String),
error_id Nullable(String),
duration Nullable(UInt16),
context Nullable(Enum8('unknown'=0, 'self'=1, 'same-origin-ancestor'=2, 'same-origin-descendant'=3, 'same-origin'=4, 'cross-origin-ancestor'=5, 'cross-origin-descendant'=6, 'cross-origin-unreachable'=7, 'multiple-contexts'=8)),
container_type Nullable(Enum8('window'=0, 'iframe'=1, 'embed'=2, 'object'=3)),
container_id Nullable(String),
container_name Nullable(String),
container_src Nullable(String),
url Nullable(String),
url_host Nullable(String) MATERIALIZED lower(domain(url)),
url_path Nullable(String) MATERIALIZED lower(pathFull(url)),
request_start Nullable(UInt16),
response_start Nullable(UInt16),
response_end Nullable(UInt16),
dom_content_loaded_event_start Nullable(UInt16),
dom_content_loaded_event_end Nullable(UInt16),
load_event_start Nullable(UInt16),
load_event_end Nullable(UInt16),
first_paint Nullable(UInt16),
first_contentful_paint Nullable(UInt16),
speed_index Nullable(UInt16),
visually_complete Nullable(UInt16),
time_to_interactive Nullable(UInt16),
ttfb Nullable(UInt16) MATERIALIZED if(greaterOrEquals(response_start, request_start),
minus(response_start, request_start), Null),
ttlb Nullable(UInt16) MATERIALIZED if(greaterOrEquals(response_end, request_start),
minus(response_end, request_start), Null),
response_time Nullable(UInt16) MATERIALIZED if(greaterOrEquals(response_end, response_start),
minus(response_end, response_start), Null),
dom_building_time Nullable(UInt16) MATERIALIZED if(
greaterOrEquals(dom_content_loaded_event_start, response_end),
minus(dom_content_loaded_event_start, response_end), Null),
dom_content_loaded_event_time Nullable(UInt16) MATERIALIZED if(
greaterOrEquals(dom_content_loaded_event_end, dom_content_loaded_event_start),
minus(dom_content_loaded_event_end, dom_content_loaded_event_start), Null),
load_event_time Nullable(UInt16) MATERIALIZED if(greaterOrEquals(load_event_end, load_event_start),
minus(load_event_end, load_event_start), Null),
min_fps Nullable(UInt8),
avg_fps Nullable(UInt8),
max_fps Nullable(UInt8),
min_cpu Nullable(UInt8),
avg_cpu Nullable(UInt8),
max_cpu Nullable(UInt8),
min_total_js_heap_size Nullable(UInt64),
avg_total_js_heap_size Nullable(UInt64),
max_total_js_heap_size Nullable(UInt64),
min_used_js_heap_size Nullable(UInt64),
avg_used_js_heap_size Nullable(UInt64),
max_used_js_heap_size Nullable(UInt64),
type Nullable(Enum8('other'=-1, 'script'=0, 'stylesheet'=1, 'fetch'=2, 'img'=3, 'media'=4)),
header_size Nullable(UInt16),
encoded_body_size Nullable(UInt32),
decoded_body_size Nullable(UInt32),
compression_ratio Nullable(Float32) MATERIALIZED divide(decoded_body_size, encoded_body_size),
success Nullable(UInt8),
method Nullable(Enum8('GET' = 0, 'HEAD' = 1, 'POST' = 2, 'PUT' = 3, 'DELETE' = 4, 'CONNECT' = 5, 'OPTIONS' = 6, 'TRACE' = 7, 'PATCH' = 8)),
status Nullable(UInt16),
_timestamp DateTime DEFAULT now()
) ENGINE = MergeTree
PARTITION BY toYYYYMM(datetime)
ORDER BY (project_id, datetime, event_type, session_id)
TTL datetime + INTERVAL 1 MONTH;
CREATE TABLE IF NOT EXISTS sessions
(
session_id UInt64,
project_id UInt32,
tracker_version LowCardinality(String),
rev_id LowCardinality(Nullable(String)),
user_uuid UUID,
user_os LowCardinality(String),
user_os_version LowCardinality(Nullable(String)),
user_browser LowCardinality(String),
user_browser_version LowCardinality(Nullable(String)),
user_device Nullable(String),
user_device_type Enum8('other'=0, 'desktop'=1, 'mobile'=2),
user_country Enum8('UN'=-128, 'RW'=-127, 'SO'=-126, 'YE'=-125, 'IQ'=-124, 'SA'=-123, 'IR'=-122, 'CY'=-121, 'TZ'=-120, 'SY'=-119, 'AM'=-118, 'KE'=-117, 'CD'=-116, 'DJ'=-115, 'UG'=-114, 'CF'=-113, 'SC'=-112, 'JO'=-111, 'LB'=-110, 'KW'=-109, 'OM'=-108, 'QA'=-107, 'BH'=-106, 'AE'=-105, 'IL'=-104, 'TR'=-103, 'ET'=-102, 'ER'=-101, 'EG'=-100, 'SD'=-99, 'GR'=-98, 'BI'=-97, 'EE'=-96, 'LV'=-95, 'AZ'=-94, 'LT'=-93, 'SJ'=-92, 'GE'=-91, 'MD'=-90, 'BY'=-89, 'FI'=-88, 'AX'=-87, 'UA'=-86, 'MK'=-85, 'HU'=-84, 'BG'=-83, 'AL'=-82, 'PL'=-81, 'RO'=-80, 'XK'=-79, 'ZW'=-78, 'ZM'=-77, 'KM'=-76, 'MW'=-75, 'LS'=-74, 'BW'=-73, 'MU'=-72, 'SZ'=-71, 'RE'=-70, 'ZA'=-69, 'YT'=-68, 'MZ'=-67, 'MG'=-66, 'AF'=-65, 'PK'=-64, 'BD'=-63, 'TM'=-62, 'TJ'=-61, 'LK'=-60, 'BT'=-59, 'IN'=-58, 'MV'=-57, 'IO'=-56, 'NP'=-55, 'MM'=-54, 'UZ'=-53, 'KZ'=-52, 'KG'=-51, 'TF'=-50, 'HM'=-49, 'CC'=-48, 'PW'=-47, 'VN'=-46, 'TH'=-45, 'ID'=-44, 'LA'=-43, 'TW'=-42, 'PH'=-41, 'MY'=-40, 'CN'=-39, 'HK'=-38, 'BN'=-37, 'MO'=-36, 'KH'=-35, 'KR'=-34, 'JP'=-33, 'KP'=-32, 'SG'=-31, 'CK'=-30, 'TL'=-29, 'RU'=-28, 'MN'=-27, 'AU'=-26, 'CX'=-25, 'MH'=-24, 'FM'=-23, 'PG'=-22, 'SB'=-21, 'TV'=-20, 'NR'=-19, 'VU'=-18, 'NC'=-17, 'NF'=-16, 'NZ'=-15, 'FJ'=-14, 'LY'=-13, 'CM'=-12, 'SN'=-11, 'CG'=-10, 'PT'=-9, 'LR'=-8, 'CI'=-7, 'GH'=-6, 'GQ'=-5, 'NG'=-4, 'BF'=-3, 'TG'=-2, 'GW'=-1, 'MR'=0, 'BJ'=1, 'GA'=2, 'SL'=3, 'ST'=4, 'GI'=5, 'GM'=6, 'GN'=7, 'TD'=8, 'NE'=9, 'ML'=10, 'EH'=11, 'TN'=12, 'ES'=13, 'MA'=14, 'MT'=15, 'DZ'=16, 'FO'=17, 'DK'=18, 'IS'=19, 'GB'=20, 'CH'=21, 'SE'=22, 'NL'=23, 'AT'=24, 'BE'=25, 'DE'=26, 'LU'=27, 'IE'=28, 'MC'=29, 'FR'=30, 'AD'=31, 'LI'=32, 'JE'=33, 'IM'=34, 'GG'=35, 'SK'=36, 'CZ'=37, 'NO'=38, 'VA'=39, 'SM'=40, 'IT'=41, 'SI'=42, 'ME'=43, 'HR'=44, 'BA'=45, 'AO'=46, 'NA'=47, 'SH'=48, 'BV'=49, 'BB'=50, 'CV'=51, 'GY'=52, 'GF'=53, 'SR'=54, 'PM'=55, 'GL'=56, 'PY'=57, 'UY'=58, 'BR'=59, 'FK'=60, 'GS'=61, 'JM'=62, 'DO'=63, 'CU'=64, 'MQ'=65, 'BS'=66, 'BM'=67, 'AI'=68, 'TT'=69, 'KN'=70, 'DM'=71, 'AG'=72, 'LC'=73, 'TC'=74, 'AW'=75, 'VG'=76, 'VC'=77, 'MS'=78, 'MF'=79, 'BL'=80, 'GP'=81, 'GD'=82, 'KY'=83, 'BZ'=84, 'SV'=85, 'GT'=86, 'HN'=87, 'NI'=88, 'CR'=89, 'VE'=90, 'EC'=91, 'CO'=92, 'PA'=93, 'HT'=94, 'AR'=95, 'CL'=96, 'BO'=97, 'PE'=98, 'MX'=99, 'PF'=100, 'PN'=101, 'KI'=102, 'TK'=103, 'TO'=104, 'WF'=105, 'WS'=106, 'NU'=107, 'MP'=108, 'GU'=109, 'PR'=110, 'VI'=111, 'UM'=112, 'AS'=113, 'CA'=114, 'US'=115, 'PS'=116, 'RS'=117, 'AQ'=118, 'SX'=119, 'CW'=120, 'BQ'=121, 'SS'=122),
datetime DateTime,
duration UInt32,
pages_count UInt16,
events_count UInt16,
errors_count UInt16,
utm_source Nullable(String),
utm_medium Nullable(String),
utm_campaign Nullable(String),
user_id Nullable(String),
metadata_1 Nullable(String),
metadata_2 Nullable(String),
metadata_3 Nullable(String),
metadata_4 Nullable(String),
metadata_5 Nullable(String),
metadata_6 Nullable(String),
metadata_7 Nullable(String),
metadata_8 Nullable(String),
metadata_9 Nullable(String),
metadata_10 Nullable(String),
_timestamp DateTime DEFAULT now()
) ENGINE = ReplacingMergeTree(_timestamp)
PARTITION BY toYYYYMMDD(datetime)
ORDER BY (project_id, datetime, session_id)
TTL datetime + INTERVAL 1 MONTH
SETTINGS index_granularity = 512;
CREATE TABLE IF NOT EXISTS autocomplete
(
project_id UInt32 NOT NULL,
type LowCardinality(String) NOT NULL,
value String NOT NULL,
_timestamp DateTime DEFAULT now()
) ENGINE = ReplacingMergeTree(_timestamp)
PARTITION BY toYYYYMM(_timestamp)
ORDER BY (project_id, type)
TTL _timestamp + INTERVAL 1 MONTH;
CREATE MATERIALIZED VIEW sessions_l7d_mv
ENGINE = ReplacingMergeTree(_timestamp)
PARTITION BY toYYYYMMDD(datetime)
ORDER BY (project_id, datetime, session_id)
TTL datetime + INTERVAL 7 DAY
SETTINGS index_granularity = 512
POPULATE
AS
SELECT *
FROM massive_split.sessions_s
WHERE datetime >= now() - INTERVAL 7 DAY
AND isNotNull(duration)
AND duration > 0;
CREATE MATERIALIZED VIEW events_l7d_mv
ENGINE = ReplacingMergeTree(_timestamp)
PARTITION BY toYYYYMM(datetime)
ORDER BY (project_id, datetime, session_id)
TTL datetime + INTERVAL 7 DAY
POPULATE
AS
SELECT *
FROM massive_split.events_s
WHERE datetime >= now() - INTERVAL 7 DAY;
CREATE MATERIALIZED VIEW sessions_info_l1m_mv
ENGINE = ReplacingMergeTree(_timestamp)
PARTITION BY toYYYYMM(datetime)
ORDER BY (project_id, datetime, session_id)
TTL datetime + INTERVAL 1 MONTH
SETTINGS index_granularity = 512
POPULATE
AS
SELECT project_id,
session_id,
datetime,
now() AS _timestamp,
toJSONString(map('project_id', toString(project_id),
'session_id', toString(session_id),
'user_uuid', toString(user_uuid),
'user_id', user_id,
'user_os', user_os,
'user_browser', user_browser,
'user_device', user_device,
--'user_device_type', user_device_type,
--'user_country', user_country,
'start_ts', toString(datetime),
'duration', toString(duration),
'events_count', toString(events_count),
'pages_count', toString(pages_count),
'errors_count', toString(errors_count),
-- 'user_anonymous_id', user_anonymous_id,
-- 'platform', platform,
-- 'issue_score', issue_score,
-- issue_types,
-- favorite,
-- viewed,
'metadata', CAST((arrayFilter(x->isNotNull(x),
arrayMap(
x->if(isNotNull(x[1]) AND isNotNull(x[2]), toString(x[1]),
NULL),
[
[projects_meta.metadata_1,sessions.metadata_1],
[projects_meta.metadata_2,sessions.metadata_2],
[projects_meta.metadata_3,sessions.metadata_3],
[projects_meta.metadata_4,sessions.metadata_4],
[projects_meta.metadata_5,sessions.metadata_5],
[projects_meta.metadata_6,sessions.metadata_6],
[projects_meta.metadata_7,sessions.metadata_7],
[projects_meta.metadata_8,sessions.metadata_8],
[projects_meta.metadata_9,sessions.metadata_9],
[projects_meta.metadata_10,sessions.metadata_10]
])),
arrayFilter(x->isNotNull(x),
arrayMap(
x->if(isNotNull(x[1]) AND isNotNull(x[2]), toString(x[2]),
NULL),
[
[projects_meta.metadata_1,sessions.metadata_1],
[projects_meta.metadata_2,sessions.metadata_2],
[projects_meta.metadata_3,sessions.metadata_3],
[projects_meta.metadata_4,sessions.metadata_4],
[projects_meta.metadata_5,sessions.metadata_5],
[projects_meta.metadata_6,sessions.metadata_6],
[projects_meta.metadata_7,sessions.metadata_7],
[projects_meta.metadata_8,sessions.metadata_8],
[projects_meta.metadata_9,sessions.metadata_9],
[projects_meta.metadata_10,sessions.metadata_10]
]))), 'Map(String,String)')
)) AS info
FROM massive_split.sessions
INNER JOIN projects_metadata USING (project_id)
WHERE datetime >= now() - INTERVAL 1 MONTH
AND isNotNull(duration)
AND duration > 0;
CREATE MATERIALIZED VIEW sessions_info_l7d_mv
ENGINE = ReplacingMergeTree(_timestamp)
PARTITION BY toYYYYMMDD(datetime)
ORDER BY (project_id, datetime, session_id)
TTL datetime + INTERVAL 7 DAY
SETTINGS index_granularity = 512
POPULATE
AS
SELECT *
FROM sessions_info_l1m_mv
WHERE datetime >= now() - INTERVAL 7 DAY;

View file

@ -0,0 +1,68 @@
MACHINE ,QUERY ,TABLE ,TIME(max_threads=auto(2)),TIME (max_threads=4),TIME (max_threads=4) 1W,TIME (max_threads=4) 1W_mv,TIME 1d (max_threads=4) 1W_mv,TIME 1d (max_threads=4) 1d_mv,REMARK
r5.large (16Gb) ,Q1 ,massive2.events7 ,timeout ,- ,- ,- ,- ,- ,
r5.2xlarge (64Gb) ,Q1 ,massive2.events7 ,12s ,- ,- ,- ,- ,- ,
r5.3xlarge (128Gb),Q1 ,massive2.events7 ,7s ,- ,- ,- ,- ,- ,
r5.xlarge (32Gb) ,Q1 ,massive2.events7 ,24s ,19s ,17s ,- ,- ,- ,
r5.xlarge (32Gb) ,Q1.1 ,massive2.events7 ,16s ,14s ,12s ,- ,- ,- ,WHERE user_id
r5.xlarge (32Gb) ,Q1 ,massive_split.events_s,23s ,18s ,16s ,3s ,1s ,0.8s ,
r5.xlarge (32Gb) ,Q1.2 ,massive_split.events_s,timeout ,27s ,23s ,2s ,0.8s ,0.7s ,events INNER JOIN meta WHERE user_id
r5.xlarge (32Gb) ,Q1.2.1 ,massive_split.events_s,timeout ,timeout ,27s ,4s ,1.6s ,0.8s ,events INNER JOIN meta WHERE ALL AND user_id
r5.xlarge (32Gb) ,Q1.3 ,massive_split.events_s,15s ,13s ,11s ,2s ,0.7s ,0.6s ,events INNER JOIN SUBQUERY WHERE user_id
r5.xlarge (32Gb) ,Q1.4 ,massive_split.events_s,memory ,memory ,memory ,4s ,0.7s ,0.6s ,SUBQUERY WHERE user_id INNER JOIN events
r5.xlarge (32Gb) ,Q1.5 ,massive_split.events_s,11s ,10s ,8s ,1s ,0.6s ,0.6s ,WHERE session_id IN SUBQUERY WHERE user_id
======== ,===== ,================= ,=========== ,============ ,== ,== ,== ,== ,==
r5.large (16Gb) ,Q2 ,massive2.events7 ,timeout ,- ,- ,- ,- ,- ,
r5.2xlarge (64Gb) ,Q2 ,massive2.events7 ,12s ,- ,- ,- ,- ,- ,
r5.3xlarge (128Gb),Q2 ,massive2.events7 ,7s ,- ,- ,- ,- ,- ,
r5.xlarge (32Gb) ,Q2 ,massive2.events7 ,24s ,20s ,17s ,- ,- ,- ,
r5.xlarge (32Gb) ,Q2.1 ,massive2.events7 ,21s ,14s ,12s ,- ,- ,- ,WHERE user_id
r5.xlarge (32Gb) ,Q2 ,massive_split.events_s,22s ,19s ,16s ,3s ,0.7s ,0.6s ,
r5.xlarge (32Gb) ,Q2.2 ,massive_split.events_s,timeout ,27s ,23s ,2s ,0.6s ,0.6s ,events INNER JOIN meta WHERE user_id
r5.xlarge (32Gb) ,Q2.2.1 ,massive_split.events_s,timeout ,timeout ,27s ,4s ,1.3s ,0.7s ,events INNER JOIN meta WHERE ALL AND user_id
r5.xlarge (32Gb) ,Q2.3 ,massive_split.events_s,15s ,13s ,11s ,2s ,0.6s ,0.6s ,events INNER JOIN SUBQUERY WHERE user_id
r5.xlarge (32Gb) ,Q2.4 ,massive_split.events_s,memory ,memory ,memory ,4s ,0.6s ,0.6s ,SUBQUERY WHERE user_id INNER JOIN events
r5.xlarge (32Gb) ,Q2.5 ,massive_split.events_s,11s ,10s ,8s ,1s ,0.6s ,0.6s ,WHERE session_id IN SUBQUERY WHERE user_id
======== ,===== ,================= ,=========== ,============ ,== ,== ,== ,== ,==
r5.large (16Gb) ,Q3 ,massive2.events7 ,timeout ,- ,- ,- ,- ,- ,
r5.2xlarge (64Gb) ,Q3 ,massive2.events7 ,11s ,- ,- ,- ,- ,- ,
r5.3xlarge (128Gb),Q3 ,massive2.events7 ,6s ,- ,- ,- ,- ,- ,
r5.xlarge (32Gb) ,Q3 ,massive2.events7 ,22s ,19s ,15s ,- ,- ,- ,
r5.xlarge (32Gb) ,Q3.1 ,massive2.events7 ,18s ,15s ,12s ,- ,- ,- ,WHERE user_id
r5.xlarge (32Gb) ,Q3 ,massive_split.events_s,21s ,18s ,15s ,3s ,0.7s ,0.7s ,
r5.xlarge (32Gb) ,Q3.2 ,massive_split.events_s,24s ,20s ,17s ,2s ,0.7s ,0.6s ,events INNER JOIN meta WHERE user_id
r5.xlarge (32Gb) ,Q3.2.1 ,massive_split.events_s,26s ,22s ,19s ,4s ,1.4s ,0.7s ,events INNER JOIN meta WHERE ALL AND user_id
r5.xlarge (32Gb) ,Q3.3 ,massive_split.events_s,15s ,13s ,11s ,2s ,0.6s ,0.6s ,events INNER JOIN SUBQUERY WHERE user_id
r5.xlarge (32Gb) ,Q3.4 ,massive_split.events_s,memory ,memory ,memroy ,3s ,0.7s ,0.7s ,SUBQUERY WHERE user_id INNER JOIN events
r5.xlarge (32Gb) ,Q3.5 ,massive_split.events_s,13s ,11s ,9s ,1s ,0.7s ,0.6s ,WHERE session_id IN SUBQUERY WHERE user_id
======== ,===== ,================= ,=========== ,============ ,== ,== ,== ,== ,==
r5.large (16Gb) ,Q4 ,massive2.events7 ,timeout ,- ,- ,- ,- ,- ,
r5.2xlarge (64Gb) ,Q4 ,massive2.events7 ,11s ,- ,- ,- ,- ,- ,
r5.3xlarge (128Gb),Q4 ,massive2.events7 ,6s ,- ,- ,- ,- ,- ,
r5.xlarge (32Gb) ,Q4 ,massive2.events7 ,22s ,18s ,15s ,- ,- ,- ,
r5.xlarge (32Gb) ,Q4.1 ,massive2.events7 ,18s ,15s ,13s ,- ,- ,- ,WHERE user_id
r5.xlarge (32Gb) ,Q4 ,massive_split.events_s,21s ,18s ,15s ,3s ,0.7s ,0.6s ,
r5.xlarge (32Gb) ,Q4.2 ,massive_split.events_s,24s ,20s ,17s ,2s ,0.7s ,0.6s ,events INNER JOIN meta WHERE user_id
r5.xlarge (32Gb) ,Q4.2.1 ,massive_split.events_s,27s ,22s ,19s ,4s ,1.4s ,0.7s ,events INNER JOIN meta WHERE ALL AND user_id
r5.xlarge (32Gb) ,Q4.3 ,massive_split.events_s,15s ,13s ,11s ,2s ,0.6s ,0.7s ,events INNER JOIN SUBQUERY WHERE user_id
r5.xlarge (32Gb) ,Q4.4 ,massive_split.events_s,memory ,memory ,memroy ,3s ,1.2s ,0.7s ,SUBQUERY WHERE user_id INNER JOIN events
r5.xlarge (32Gb) ,Q4.5 ,massive_split.events_s,14s ,12s ,9s ,2s ,0.6s ,0.6s ,WHERE session_id IN SUBQUERY WHERE user_id
======== ,===== ,================= ,=========== ,============ ,== ,== ,== ,== ,==
r5.large (16Gb) ,QU1 ,massive2.events7 ,timeout ,- ,- ,- ,- ,- ,
r5.2xlarge (64Gb) ,QU1 ,massive2.events7 ,18s ,- ,- ,- ,- ,- ,
r5.3xlarge (128Gb),QU1 ,massive2.events7 ,10s ,- ,- ,- ,- ,- ,
r5.xlarge (32Gb) ,QU1 ,massive2.events7 ,timeout ,28s ,24s ,- ,- ,- ,
r5.xlarge (32Gb) ,QU1.1 ,massive2.events7 ,17s ,14s ,12s ,- ,- ,- ,WHERE user_id
r5.xlarge (32Gb) ,QU1.2 ,massive_split.events_s,timeout ,timeout ,timeout ,6s ,1.5s ,0.7s ,events INNER JOIN meta
r5.xlarge (32Gb) ,QU1.3 ,massive_split.events_s,timeout ,timeout ,23s ,3s ,1.4s ,0.7s ,events INNER JOIN meta WHERE user_id
r5.xlarge (32Gb) ,QU1.4 ,massive_split.events_s,15s ,13s ,11s ,2s ,0.7s ,0.6s ,events INNER JOIN SUBQUERY WHERE user_id
r5.xlarge (32Gb) ,QU1.4-A,massive_split.events_s,timeout ,timeout ,timeout ,6s ,0.7s ,0.7s ,events INNER JOIN SUBQUERY WHERE user_id
r5.xlarge (32Gb) ,QU1.5 ,massive_split.events_s,memory ,memory ,memory ,memory ,memory ,2s ,SUBQUERY WHERE user_id INNER JOIN events
r5.xlarge (32Gb) ,QU1.6 ,massive_split.events_s,11s ,10s ,8s ,1s ,0.7s ,0.7s ,events INNER JOIN SUBQUERY WHERE user_id WHERE session_id IN SUBQUERY WHERE user_id
r5.xlarge (32Gb) ,QU1.6-A,massive_split.events_s,timeout ,timeout ,timeout ,6s ,0.7s ,0.7s ,events INNER JOIN SUBQUERY WHERE session_id IN SUBQUERY
======== ,===== ,================= ,=========== ,============ ,== ,== ,== ,== ,==
r5.large (16Gb) ,QM4 ,massive2.events7 ,- ,- ,- ,- ,- ,- ,
r5.2xlarge (64Gb) ,QM4 ,massive2.events7 ,3s ,- ,- ,- ,- ,- ,
r5.3xlarge (128Gb),QM4 ,massive2.events7 ,- ,- ,- ,- ,- ,- ,
r5.xlarge (32Gb) ,QM4 ,massive2.events7 ,7s ,5s ,4s ,- ,- ,- ,
r5.xlarge (32Gb) ,QM4 ,massive_split.events_s,6s ,5s ,4s ,1s ,0.7s ,0.6s ,
======== ,===== ,================= ,=========== ,============ ,== ,== ,== ,== ,==
1 MACHINE QUERY TABLE TIME(max_threads=auto(2)) TIME (max_threads=4) TIME (max_threads=4) 1W TIME (max_threads=4) 1W_mv TIME 1d (max_threads=4) 1W_mv TIME 1d (max_threads=4) 1d_mv REMARK
2 r5.large (16Gb) Q1 massive2.events7 timeout - - - - -
3 r5.2xlarge (64Gb) Q1 massive2.events7 12s - - - - -
4 r5.3xlarge (128Gb) Q1 massive2.events7 7s - - - - -
5 r5.xlarge (32Gb) Q1 massive2.events7 24s 19s 17s - - -
6 r5.xlarge (32Gb) Q1.1 massive2.events7 16s 14s 12s - - - WHERE user_id
7 r5.xlarge (32Gb) Q1 massive_split.events_s 23s 18s 16s 3s 1s 0.8s
8 r5.xlarge (32Gb) Q1.2 massive_split.events_s timeout 27s 23s 2s 0.8s 0.7s events INNER JOIN meta WHERE user_id
9 r5.xlarge (32Gb) Q1.2.1 massive_split.events_s timeout timeout 27s 4s 1.6s 0.8s events INNER JOIN meta WHERE ALL AND user_id
10 r5.xlarge (32Gb) Q1.3 massive_split.events_s 15s 13s 11s 2s 0.7s 0.6s events INNER JOIN SUBQUERY WHERE user_id
11 r5.xlarge (32Gb) Q1.4 massive_split.events_s memory memory memory 4s 0.7s 0.6s SUBQUERY WHERE user_id INNER JOIN events
12 r5.xlarge (32Gb) Q1.5 massive_split.events_s 11s 10s 8s 1s 0.6s 0.6s WHERE session_id IN SUBQUERY WHERE user_id
13 ======== ===== ================= =========== ============ == == == == ==
14 r5.large (16Gb) Q2 massive2.events7 timeout - - - - -
15 r5.2xlarge (64Gb) Q2 massive2.events7 12s - - - - -
16 r5.3xlarge (128Gb) Q2 massive2.events7 7s - - - - -
17 r5.xlarge (32Gb) Q2 massive2.events7 24s 20s 17s - - -
18 r5.xlarge (32Gb) Q2.1 massive2.events7 21s 14s 12s - - - WHERE user_id
19 r5.xlarge (32Gb) Q2 massive_split.events_s 22s 19s 16s 3s 0.7s 0.6s
20 r5.xlarge (32Gb) Q2.2 massive_split.events_s timeout 27s 23s 2s 0.6s 0.6s events INNER JOIN meta WHERE user_id
21 r5.xlarge (32Gb) Q2.2.1 massive_split.events_s timeout timeout 27s 4s 1.3s 0.7s events INNER JOIN meta WHERE ALL AND user_id
22 r5.xlarge (32Gb) Q2.3 massive_split.events_s 15s 13s 11s 2s 0.6s 0.6s events INNER JOIN SUBQUERY WHERE user_id
23 r5.xlarge (32Gb) Q2.4 massive_split.events_s memory memory memory 4s 0.6s 0.6s SUBQUERY WHERE user_id INNER JOIN events
24 r5.xlarge (32Gb) Q2.5 massive_split.events_s 11s 10s 8s 1s 0.6s 0.6s WHERE session_id IN SUBQUERY WHERE user_id
25 ======== ===== ================= =========== ============ == == == == ==
26 r5.large (16Gb) Q3 massive2.events7 timeout - - - - -
27 r5.2xlarge (64Gb) Q3 massive2.events7 11s - - - - -
28 r5.3xlarge (128Gb) Q3 massive2.events7 6s - - - - -
29 r5.xlarge (32Gb) Q3 massive2.events7 22s 19s 15s - - -
30 r5.xlarge (32Gb) Q3.1 massive2.events7 18s 15s 12s - - - WHERE user_id
31 r5.xlarge (32Gb) Q3 massive_split.events_s 21s 18s 15s 3s 0.7s 0.7s
32 r5.xlarge (32Gb) Q3.2 massive_split.events_s 24s 20s 17s 2s 0.7s 0.6s events INNER JOIN meta WHERE user_id
33 r5.xlarge (32Gb) Q3.2.1 massive_split.events_s 26s 22s 19s 4s 1.4s 0.7s events INNER JOIN meta WHERE ALL AND user_id
34 r5.xlarge (32Gb) Q3.3 massive_split.events_s 15s 13s 11s 2s 0.6s 0.6s events INNER JOIN SUBQUERY WHERE user_id
35 r5.xlarge (32Gb) Q3.4 massive_split.events_s memory memory memroy 3s 0.7s 0.7s SUBQUERY WHERE user_id INNER JOIN events
36 r5.xlarge (32Gb) Q3.5 massive_split.events_s 13s 11s 9s 1s 0.7s 0.6s WHERE session_id IN SUBQUERY WHERE user_id
37 ======== ===== ================= =========== ============ == == == == ==
38 r5.large (16Gb) Q4 massive2.events7 timeout - - - - -
39 r5.2xlarge (64Gb) Q4 massive2.events7 11s - - - - -
40 r5.3xlarge (128Gb) Q4 massive2.events7 6s - - - - -
41 r5.xlarge (32Gb) Q4 massive2.events7 22s 18s 15s - - -
42 r5.xlarge (32Gb) Q4.1 massive2.events7 18s 15s 13s - - - WHERE user_id
43 r5.xlarge (32Gb) Q4 massive_split.events_s 21s 18s 15s 3s 0.7s 0.6s
44 r5.xlarge (32Gb) Q4.2 massive_split.events_s 24s 20s 17s 2s 0.7s 0.6s events INNER JOIN meta WHERE user_id
45 r5.xlarge (32Gb) Q4.2.1 massive_split.events_s 27s 22s 19s 4s 1.4s 0.7s events INNER JOIN meta WHERE ALL AND user_id
46 r5.xlarge (32Gb) Q4.3 massive_split.events_s 15s 13s 11s 2s 0.6s 0.7s events INNER JOIN SUBQUERY WHERE user_id
47 r5.xlarge (32Gb) Q4.4 massive_split.events_s memory memory memroy 3s 1.2s 0.7s SUBQUERY WHERE user_id INNER JOIN events
48 r5.xlarge (32Gb) Q4.5 massive_split.events_s 14s 12s 9s 2s 0.6s 0.6s WHERE session_id IN SUBQUERY WHERE user_id
49 ======== ===== ================= =========== ============ == == == == ==
50 r5.large (16Gb) QU1 massive2.events7 timeout - - - - -
51 r5.2xlarge (64Gb) QU1 massive2.events7 18s - - - - -
52 r5.3xlarge (128Gb) QU1 massive2.events7 10s - - - - -
53 r5.xlarge (32Gb) QU1 massive2.events7 timeout 28s 24s - - -
54 r5.xlarge (32Gb) QU1.1 massive2.events7 17s 14s 12s - - - WHERE user_id
55 r5.xlarge (32Gb) QU1.2 massive_split.events_s timeout timeout timeout 6s 1.5s 0.7s events INNER JOIN meta
56 r5.xlarge (32Gb) QU1.3 massive_split.events_s timeout timeout 23s 3s 1.4s 0.7s events INNER JOIN meta WHERE user_id
57 r5.xlarge (32Gb) QU1.4 massive_split.events_s 15s 13s 11s 2s 0.7s 0.6s events INNER JOIN SUBQUERY WHERE user_id
58 r5.xlarge (32Gb) QU1.4-A massive_split.events_s timeout timeout timeout 6s 0.7s 0.7s events INNER JOIN SUBQUERY WHERE user_id
59 r5.xlarge (32Gb) QU1.5 massive_split.events_s memory memory memory memory memory 2s SUBQUERY WHERE user_id INNER JOIN events
60 r5.xlarge (32Gb) QU1.6 massive_split.events_s 11s 10s 8s 1s 0.7s 0.7s events INNER JOIN SUBQUERY WHERE user_id WHERE session_id IN SUBQUERY WHERE user_id
61 r5.xlarge (32Gb) QU1.6-A massive_split.events_s timeout timeout timeout 6s 0.7s 0.7s events INNER JOIN SUBQUERY WHERE session_id IN SUBQUERY
62 ======== ===== ================= =========== ============ == == == == ==
63 r5.large (16Gb) QM4 massive2.events7 - - - - - -
64 r5.2xlarge (64Gb) QM4 massive2.events7 3s - - - - -
65 r5.3xlarge (128Gb) QM4 massive2.events7 - - - - - -
66 r5.xlarge (32Gb) QM4 massive2.events7 7s 5s 4s - - -
67 r5.xlarge (32Gb) QM4 massive_split.events_s 6s 5s 4s 1s 0.7s 0.6s
68 ======== ===== ================= =========== ============ == == == == ==

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,983 @@
-- Q1
SELECT session_id
-- FROM massive2.events7
-- FROM events_l7d_mv
FROM events_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q1.1
SELECT session_id
FROM massive2.events7
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd'
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q1.2
SELECT session_id
FROM
-- massive_split.events_s
-- INNER JOIN massive_split.metadata_s USING (session_id)
events_l24h_mv
INNER JOIN metadata_l24h_mv USING (session_id)
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd'
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q1.2.1
SELECT session_id
FROM
-- massive_split.events_s
-- INNER JOIN massive_split.metadata_s USING (session_id)
-- events_l7d_mv AS events_s
-- INNER JOIN metadata_l7d_mv AS metadata_s USING (session_id)
events_l24h_mv AS events_s
INNER JOIN metadata_l24h_mv AS metadata_s USING (session_id)
WHERE events_s.project_id = 2460
AND events_s.datetime >= '2022-04-02 00:00:00'
AND events_s.datetime <= '2022-04-03 00:00:00'
-- AND events_s.datetime <= '2022-04-10 00:00:00'
-- AND events_s.datetime <= '2022-05-02 00:00:00'
AND metadata_s.project_id = 2460
AND metadata_s.datetime >= '2022-04-02 00:00:00'
AND metadata_s.datetime <= '2022-04-03 00:00:00'
-- AND metadata_s.datetime <= '2022-04-10 00:00:00'
-- AND metadata_s.datetime <= '2022-05-02 00:00:00'
AND metadata_s.user_id = 'uucUZvTpPd'
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q1.3
SELECT session_id
FROM
-- massive_split.events_s
-- events_l7d_mv
events_l24h_mv
INNER JOIN (SELECT DISTINCT session_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd') AS meta USING (session_id)
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q1.4
SELECT session_id
FROM (SELECT DISTINCT session_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd') AS meta
-- INNER JOIN massive_split.events_s USING (session_id)
-- INNER JOIN events_l7d_mv USING (session_id)
INNER JOIN events_l24h_mv USING (session_id)
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q1.5
SELECT session_id
-- FROM massive_split.events_s
-- FROM events_l7d_mv
FROM events_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND session_id IN (SELECT DISTINCT session_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd')
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q2
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
-- FROM massive2.events7
-- FROM events_l7d_mv
FROM events_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
)
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q2.1
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
FROM massive2.events7
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd')
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q2.2
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
-- FROM massive_split.events_s
-- INNER JOIN massive_split.metadata_s USING (session_id)
-- FROM events_l7d_mv
-- INNER JOIN metadata_l7d_mv USING (session_id)
FROM events_l24h_mv
INNER JOIN metadata_l24h_mv USING (session_id)
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd')
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q2.2.1
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
-- FROM massive_split.events_s
-- INNER JOIN massive_split.metadata_s USING (session_id)
-- FROM events_l7d_mv AS events_s
-- INNER JOIN metadata_l7d_mv AS metadata_s USING (session_id)
FROM events_l24h_mv AS events_s
INNER JOIN metadata_l24h_mv AS metadata_s USING (session_id)
WHERE events_s.project_id = 2460
AND events_s.datetime >= '2022-04-02 00:00:00'
AND events_s.datetime <= '2022-04-03 00:00:00'
-- AND events_s.datetime <= '2022-04-10 00:00:00'
-- AND events_s.datetime <= '2022-05-02 00:00:00'
AND metadata_s.project_id = 2460
AND metadata_s.datetime >= '2022-04-02 00:00:00'
AND metadata_s.datetime <= '2022-04-03 00:00:00'
-- AND metadata_s.datetime <= '2022-04-10 00:00:00'
-- AND metadata_s.datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd')
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q2.3
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
-- FROM massive_split.events_s
-- FROM events_l7d_mv
FROM events_l24h_mv
INNER JOIN (SELECT DISTINCT session_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd') AS meta USING (session_id)
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
)
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q2.4
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
FROM (SELECT DISTINCT session_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd') AS meta
-- INNER JOIN massive_split.events_s USING (session_id)
-- INNER JOIN events_l7d_mv USING (session_id)
INNER JOIN events_l24h_mv USING (session_id)
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
)
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q2.5
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
-- FROM massive_split.events_s
-- FROM events_l7d_mv
FROM events_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND session_id IN (SELECT DISTINCT session_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd'))
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q3
SELECT session_id
-- FROM massive_split.events_s
-- FROM events_l7d_mv
FROM events_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND (event_type = 'CLICK' OR event_type = 'REQUEST')
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q3.1
SELECT session_id
FROM massive2.events7
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND (event_type = 'CLICK' OR event_type = 'REQUEST')
AND user_id = 'uucUZvTpPd'
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q3.2
SELECT session_id
-- FROM massive_split.events_s
-- INNER JOIN massive_split.metadata_s USING (session_id)
-- FROM events_l7d_mv
-- INNER JOIN metadata_l7d_mv USING (session_id)
FROM events_l24h_mv
INNER JOIN metadata_l24h_mv USING (session_id)
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND (event_type = 'CLICK' OR event_type = 'REQUEST')
AND user_id = 'uucUZvTpPd'
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q3.2.1
SELECT session_id
-- FROM massive_split.events_s
-- INNER JOIN massive_split.metadata_s USING (session_id)
-- FROM events_l7d_mv AS events_s
-- INNER JOIN metadata_l7d_mv AS metadata_s USING (session_id)
FROM events_l24h_mv AS events_s
INNER JOIN metadata_l24h_mv AS metadata_s USING (session_id)
WHERE events_s.project_id = 2460
AND events_s.datetime >= '2022-04-02 00:00:00'
AND events_s.datetime <= '2022-04-03 00:00:00'
-- AND events_s.datetime <= '2022-04-10 00:00:00'
-- AND events_s.datetime <= '2022-05-02 00:00:00'
AND (events_s.event_type = 'CLICK' OR events_s.event_type = 'REQUEST')
AND metadata_s.project_id = 2460
AND metadata_s.datetime >= '2022-04-02 00:00:00'
AND metadata_s.datetime <= '2022-04-03 00:00:00'
-- AND metadata_s.datetime <= '2022-04-10 00:00:00'
-- AND metadata_s.datetime <= '2022-05-02 00:00:00'
AND metadata_s.user_id = 'uucUZvTpPd'
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q3.3
SELECT session_id
-- FROM massive_split.events_s
-- FROM events_l7d_mv
FROM events_l24h_mv
INNER JOIN (SELECT DISTINCT session_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd') AS meta USING (session_id)
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND (event_type = 'CLICK' OR event_type = 'REQUEST')
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q3.4
SELECT session_id
FROM (SELECT DISTINCT session_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd') AS meta
-- INNER JOIN massive_split.events_s USING (session_id)
-- INNER JOIN events_l7d_mv USING (session_id)
INNER JOIN events_l24h_mv USING (session_id)
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND (event_type = 'CLICK' OR event_type = 'REQUEST')
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q3.5
SELECT session_id
-- FROM massive_split.events_s
-- FROM events_l7d_mv
FROM events_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND (event_type = 'CLICK' OR event_type = 'REQUEST')
AND session_id IN (SELECT DISTINCT session_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd')
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q4
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
-- FROM massive_split.events_s
-- FROM events_l7d_mv
FROM events_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND (event_type = 'CLICK' OR event_type = 'REQUEST'))
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q4.1
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
FROM massive2.events7
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND (event_type = 'CLICK' OR event_type = 'REQUEST')
AND user_id = 'uucUZvTpPd')
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q4.2
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
-- FROM massive_split.events_s
-- INNER JOIN massive_split.metadata_s USING (session_id)
-- FROM events_l7d_mv
-- INNER JOIN metadata_l7d_mv USING (session_id)
FROM events_l24h_mv
INNER JOIN metadata_l24h_mv USING (session_id)
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND (event_type = 'CLICK' OR event_type = 'REQUEST')
AND user_id = 'uucUZvTpPd')
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q4.2.1
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
-- FROM massive_split.events_s
-- INNER JOIN massive_split.metadata_s USING (session_id)
-- FROM events_l7d_mv AS events_s
-- INNER JOIN metadata_l7d_mv AS metadata_s USING (session_id)
FROM events_l24h_mv AS events_s
INNER JOIN metadata_l24h_mv AS metadata_s USING (session_id)
WHERE events_s.project_id = 2460
AND events_s.datetime >= '2022-04-02 00:00:00'
AND events_s.datetime <= '2022-04-03 00:00:00'
-- AND events_s.datetime <= '2022-04-10 00:00:00'
-- AND events_s.datetime <= '2022-05-02 00:00:00'
AND (events_s.event_type = 'CLICK' OR events_s.event_type = 'REQUEST')
AND metadata_s.user_id = 'uucUZvTpPd'
AND metadata_s.project_id = 2460
AND metadata_s.datetime >= '2022-04-02 00:00:00'
AND metadata_s.datetime <= '2022-04-03 00:00:00'
-- AND metadata_s.datetime <= '2022-04-10 00:00:00'
-- AND metadata_s.datetime <= '2022-05-02 00:00:00'
)
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q4.3
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
-- FROM massive_split.events_s
-- FROM events_l7d_mv
FROM events_l24h_mv
INNER JOIN (SELECT DISTINCT session_id
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd') AS meta USING (session_id)
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND (event_type = 'CLICK' OR event_type = 'REQUEST'))
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q4.4
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
FROM (SELECT DISTINCT session_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd') AS meta
-- INNER JOIN massive_split.events_s USING (session_id)
-- INNER JOIN events_l7d_mv USING (session_id)
INNER JOIN events_l24h_mv USING (session_id)
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND (event_type = 'CLICK' OR event_type = 'REQUEST'))
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- Q4.5
SELECT session_id
FROM (SELECT session_id,
datetime,
event_type = 'CLICK' AND label ILIKE '%invoice%' AS c1,
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%' AS c2
FROM events_l24h_mv
-- FROM events_l7d_mv
-- FROM massive_split.events_s
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND (event_type = 'CLICK' OR event_type = 'REQUEST')
AND session_id IN (SELECT DISTINCT session_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd'))
GROUP BY session_id
HAVING windowFunnel(99999)(datetime, c1, c2) = 2
LIMIT 10
SETTINGS
max_threads = 4;
-- QU1
SELECT user_id, COUNT(session_id)
FROM (SELECT user_id, session_id
FROM massive2.events7 AS events
WHERE events.project_id = 2460
AND events.datetime >= '2022-04-02 00:00:00'
AND events.datetime <= '2022-04-10 00:00:00'
-- AND events.datetime <= '2022-05-02 00:00:00'
GROUP BY user_id, session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
) AS filtred_sessions
GROUP BY user_id
LIMIT 10
SETTINGS
max_threads = 4;
-- QU1.1
SELECT user_id, COUNT(session_id)
FROM (SELECT user_id, session_id
FROM massive2.events7 AS events
WHERE events.project_id = 2460
AND events.datetime >= '2022-04-02 00:00:00'
AND events.datetime <= '2022-04-10 00:00:00'
-- AND events.datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd'
GROUP BY user_id, session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
) AS filtred_sessions
GROUP BY user_id
LIMIT 10
SETTINGS
max_threads = 4;
-- QU1.2
SELECT user_id, COUNT(session_id)
FROM (SELECT user_id,
session_id
-- FROM massive_split.events_s AS events
-- INNER JOIN massive_split.metadata_s USING (session_id)
-- FROM events_l7d_mv AS events
-- INNER JOIN metadata_l7d_mv AS metadata_s USING (session_id)
FROM events_l24h_mv AS events
INNER JOIN metadata_l24h_mv AS metadata_s USING (session_id)
WHERE events.project_id = 2460
AND events.datetime >= '2022-04-02 00:00:00'
AND events.datetime <= '2022-04-03 00:00:00'
-- AND events.datetime <= '2022-04-10 00:00:00'
-- AND events.datetime <= '2022-05-02 00:00:00'
GROUP BY user_id, session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
) AS filtred_sessions
GROUP BY user_id
LIMIT 10
SETTINGS
max_threads = 4;
-- QU1.3
SELECT user_id, COUNT(session_id)
FROM (SELECT user_id,
session_id
-- FROM massive_split.events_s AS events
-- INNER JOIN massive_split.metadata_s USING (session_id)
-- FROM events_l7d_mv AS events
-- INNER JOIN metadata_l7d_mv AS metadata_s USING (session_id)
FROM events_l24h_mv AS events
INNER JOIN metadata_l24h_mv AS metadata_s USING (session_id)
WHERE events.project_id = 2460
AND events.datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND events.datetime <= '2022-04-10 00:00:00'
-- AND events.datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd'
GROUP BY user_id, session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
) AS filtred_sessions
GROUP BY user_id
LIMIT 10
SETTINGS
max_threads = 4;
-- QU1.4
SELECT user_id, COUNT(session_id)
FROM (SELECT user_id,
session_id
-- FROM massive_split.events_s AS events
-- FROM events_l7d_mv AS events
FROM events_l24h_mv AS events
INNER JOIN (SELECT DISTINCT session_id,
user_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd') AS meta USING (session_id)
WHERE events.project_id = 2460
AND events.datetime >= '2022-04-02 00:00:00'
AND events.datetime <= '2022-04-03 00:00:00'
-- AND events.datetime <= '2022-04-10 00:00:00'
-- AND events.datetime <= '2022-05-02 00:00:00'
GROUP BY user_id, session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
) AS filtred_sessions
GROUP BY user_id
LIMIT 10
SETTINGS
max_threads = 4;
-- QU1.4-A
SELECT user_id, COUNT(session_id)
FROM (SELECT user_id,
session_id
-- FROM massive_split.events_s AS events
-- FROM events_l7d_mv AS events
FROM events_l24h_mv AS events
INNER JOIN (SELECT DISTINCT session_id,
user_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
) AS meta USING (session_id)
WHERE events.project_id = 2460
AND events.datetime >= '2022-04-02 00:00:00'
AND events.datetime <= '2022-04-03 00:00:00'
-- AND events.datetime <= '2022-04-10 00:00:00'
-- AND events.datetime <= '2022-05-02 00:00:00'
GROUP BY user_id, session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
) AS filtred_sessions
GROUP BY user_id
LIMIT 10
SETTINGS
max_threads = 4;
-- QU1.5
SELECT user_id, COUNT(session_id)
FROM (SELECT user_id, session_id
FROM (SELECT DISTINCT session_id,
user_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd') AS meta
-- INNER JOIN massive_split.events_s AS events USING (session_id)
-- INNER JOIN events_l7d_mv AS events USING (session_id)
INNER JOIN events_l24h_mv AS events USING (session_id)
WHERE events.project_id = 2460
AND events.datetime >= '2022-04-02 00:00:00'
AND events.datetime <= '2022-04-03 00:00:00'
-- AND events.datetime <= '2022-04-10 00:00:00'
-- AND events.datetime <= '2022-05-02 00:00:00'
GROUP BY user_id, session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
) AS filtred_sessions
GROUP BY user_id
LIMIT 10
SETTINGS
max_threads = 4;
-- QU1.6
SELECT user_id, COUNT(session_id)
FROM (SELECT user_id,
session_id
-- FROM massive_split.events_s AS events
-- FROM events_l7d_mv AS events
FROM events_l24h_mv AS events
INNER JOIN (SELECT DISTINCT session_id,
user_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd') AS meta USING (session_id)
WHERE events.project_id = 2460
AND events.datetime >= '2022-04-02 00:00:00'
AND events.datetime <= '2022-04-03 00:00:00'
-- AND events.datetime <= '2022-04-10 00:00:00'
-- AND events.datetime <= '2022-05-02 00:00:00'
AND session_id IN (SELECT DISTINCT session_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
AND user_id = 'uucUZvTpPd')
GROUP BY user_id, session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
) AS filtred_sessions
GROUP BY user_id
LIMIT 10
SETTINGS
max_threads = 4;
-- QU1.6-A
SELECT user_id, COUNT(session_id)
FROM (SELECT user_id,
session_id
-- FROM massive_split.events_s AS events
-- FROM events_l7d_mv AS events
FROM events_l24h_mv AS events
INNER JOIN (SELECT DISTINCT session_id,
user_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
) AS meta USING (session_id)
WHERE events.project_id = 2460
AND events.datetime >= '2022-04-02 00:00:00'
AND events.datetime <= '2022-04-03 00:00:00'
-- AND events.datetime <= '2022-04-10 00:00:00'
-- AND events.datetime <= '2022-05-02 00:00:00'
AND session_id IN (SELECT DISTINCT session_id
-- FROM massive_split.metadata_s
-- FROM metadata_l7d_mv
FROM metadata_l24h_mv
WHERE project_id = 2460
AND datetime >= '2022-04-02 00:00:00'
AND datetime <= '2022-04-03 00:00:00'
-- AND datetime <= '2022-04-10 00:00:00'
-- AND datetime <= '2022-05-02 00:00:00'
)
GROUP BY user_id, session_id
HAVING windowFunnel(99999)(datetime, event_type = 'CLICK' AND label ILIKE '%invoice%',
event_type = 'REQUEST' AND url ILIKE '%letsdeel.com/pay%') = 2
) AS filtred_sessions
GROUP BY user_id
LIMIT 10
SETTINGS
max_threads = 4;
-- QM4:
SELECT timestamp,
groupArray([toString(t.type), toString(t.count)]) AS types
FROM (SELECT toUnixTimestamp(toStartOfInterval(events7.datetime, INTERVAL 37565 second)) * 1000 AS timestamp,
events7.type,
COUNT(events7.session_id) AS count
-- FROM massive_split.events_s AS events7
-- FROM events_l7d_mv AS events7
FROM events_l24h_mv AS events7
WHERE events7.project_id = toUInt32(2460)
AND toStartOfInterval(events7.datetime, INTERVAL 37565 second) >= '2022-04-02 00:00:00'
AND events7.datetime <= '2022-04-03 00:00:00'
-- AND events7.datetime <= '2022-04-10 00:00:00'
-- AND events7.datetime < '2022-05-02 00:00:00'
AND events7.event_type = 'RESOURCE'
GROUP BY timestamp, events7.type
ORDER BY timestamp) AS t
GROUP BY timestamp
SETTINGS
max_threads = 4;