kapa.ai ์ฐํ๋ฆฌํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ค๊ณ ํด. ๋งตํ.json ํ์ผ ์์ด?
์ฐํ๋ฆฌํ๋ ๋ฐ์ดํฐ๋ฅผ Mixpanel๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ ๋ ์ฌ์ฉํ ์ ์๋ ๊ณต์์ ์ธ โ๋งตํ.jsonโ ํ์ผ(์ฆ, Amplitude์ Mixpanel ๊ฐ์ ์ด๋ฒคํธ ๋ฐ ์์ฑ ๋งคํ์ ์ํ ์์ฑ๋ JSON ํ์ผ)์ ์ง์ ์์ค์ ์ง์ ์ ์ผ๋ก ์ ๊ณต๋์ด ์์ง ์์ต๋๋ค.
ํ์ง๋ง, ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ์ปค๋ฅํฐ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ Amplitude์ ์ด๋ฒคํธ ๋ฐ ์ ์ ๋ฐ์ดํฐ๋ฅผ SQL๋ก ๋ณํ(ํ๋ซํ)ํ ํ, Mixpanel์ ํ๋์ ๋งคํํ๋ ์์๊ฐ ์ ๊ณต๋์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Amplitude์ event_type, event_time, user_id, device_id, event_properties, user_properties ๋ฑ์ ๊ฐ๊ฐ Mixpanel์ Event Name, Event Time, Distinct ID, Event Properties ๋ฑ์ผ๋ก ๋งคํํ๋ SQL ์์๊ฐ ์์ต๋๋ค. ์ด ๊ณผ์ ์ ํตํด ๊ฐ ์ปฌ๋ผ์ ์ด๋ป๊ฒ ๋งคํํ ์ง ์ฐธ๊ณ ํ ์ ์์ต๋๋ค.
์๋๋ ์ด๋ฒคํธ ๋งคํ์ ์ํ SQL ์์์ ๋๋ค:
```
SELECT
event_type, -- Event Name
event_time, -- Event Time
TO_HEX(SHA1(CONCAT(
CONCAT('[amp] ', event_type),
COALESCE(user_id, ""),
"-",
CAST(event_time as STRING),
"-",
COALESCE(CAST(amplitude_id as STRING), "")
))) AS insert_id, -- Insert ID
user_id, -- User ID
amplitude_id, -- Distinct ID
device_id, -- Device ID
JSON_EXTRACT_SCALAR(event_properties, "['genre']") AS genre,
-- ... ๊ธฐํ ์์ฑ๋ค
FROM project.dataset.tablename
LBKS์ด๋ ๊ฒ ์ถ์ถํ ๋ฐ์ดํฐ๋ฅผ Mixpanel Warehouse Connector์์ ๊ฐ ํ๋์ ๋งคํํ์ฌ ์
๋ก๋ํ ์ ์์ต๋๋ค.
์ฆ, โ๋งตํ.jsonโ ํ์ผ ์์ฒด๋ ์์ง๋ง, SQL ๋ณํ ๋ฐ ํ๋ ๋งคํ ์์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์ง์ ๋งคํ ๊ตฌ์ฑ์ ํด์ผ ํฉ๋๋ค.
์์ธํ ๋ด์ฉ๊ณผ ์์๋ [Mixpanel ๊ณต์ ๋ฌธ์](https://docs.mixpanel.com/docs/migration/amplitude#data-warehouse-connectors)์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
๋ง์ฝ ์๋ํ๋ JSON ๋งคํ ํ์ผ์ด ํ์ํ๋ค๋ฉด, ์ง์ SQL ๊ฒฐ๊ณผ๋ฅผ JSON ํํ๋ก ๋ณํํ๊ฑฐ๋, Mixpanel Import API์ ๋ง๋ ํฌ๋งท์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ๊ณตํด์ผ ํฉ๋๋ค.
๊ณต์์ ์ผ๋ก ์ ๊ณต๋๋ ์์ฑ๋ โ๋งตํ.jsonโ ํ์ผ์ ์๋ค๋ ์ ์ฐธ๊ณ ๋ถํ๋๋ฆฝ๋๋ค.
[Amplitude ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ์ปค๋ฅํฐ ๋งคํ ์์](https://docs.mixpanel.com/docs/migration/amplitude#data-warehouse-connectors)
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
์ฐํ๋ฆฌํ๋ ๋ฐ์ดํฐ๋ชจ๋ธ๊ณผ ๋ฏน์คํจ๋๋ฐ์ดํฐ๋ชจ๋ธ์ด ์ผ๋์ผ ๋งค์นญ์ด ์๋ ๊ฑฐ ๊ฐ์. ๋ฏน์คํจ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์๋ ์ฐํ๋ฆฌํ๋ ๋ฐ์ดํฐ๋ ์ด๋ป๊ฒ ํ๋ฉด ์ข์๊น?
kapa.ai ์ฐํ๋ฆฌํ๋ ๋ฐ์ดํฐ๋ชจ๋ธ๊ณผ ๋ฏน์คํจ๋๋ฐ์ดํฐ๋ชจ๋ธ์ด ์ผ๋์ผ ๋งค์นญ์ด ์๋ ๊ฑฐ ๊ฐ์. ๋ฏน์คํจ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์๋ ์ฐํ๋ฆฌํ๋ ๋ฐ์ดํฐ๋ ์ด๋ป๊ฒ ํ๋ฉด ์ข์๊น?
Let me check the knowledge base for you again. One moment! ๐
์ฐํ๋ฆฌํ๋(Amplitude)์ ๋ฏน์คํจ๋(Mixpanel)์ ๋ชจ๋ ์ด๋ฒคํธ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฌ์ฉํ์ง๋ง, ๋ ํ๋ซํผ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์๋ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Mixpanel์ Amplitude์ ์๋ User Profiles(์ ์ ํ๋กํ), Group Profiles(๊ทธ๋ฃน ํ๋กํ), Lookup Tables(๋ฃฉ์ ํ ์ด๋ธ) ๋ฑ ์ถ๊ฐ์ ์ธ ๋ฐ์ดํฐ ํ์ ์ ์ง์ํฉ๋๋ค. ๋ฐ๋๋ก, Amplitude์๋ง ์๋ ํน์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ์์ฑ์ Mixpanel์ ์ผ๋์ผ๋ก ๋งคํ๋์ง ์์ ์ ์์ต๋๋ค.
๋ฏน์คํจ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์๋ ์ฐํ๋ฆฌํ๋ ๋ฐ์ดํฐ๋ ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌํ ์ ์์ต๋๋ค:
1. ๋ถํ์ํ ๋ฐ์ดํฐ๋ ์ ์ธ ๋ฏน์คํจ๋์์ ์ง์ํ์ง ์๋ ๋ฐ์ดํฐ(์: Amplitude์ context-specific metadata ๋ฑ)๋ ๋ง์ด๊ทธ๋ ์ด์ ์ ์ ์ธํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค. ์ค์ ๋ก ๋ง์ด๊ทธ๋ ์ด์ ๊ฐ์ด๋์์๋ โAmplitude์ Mixpanel์ ๋ฐ์ดํฐ ๋ชจ๋ธ ์ฐจ์ด๋ก ์ธํด, ์ผ๋ถ ํ๋๋ ๋งคํํ์ง ์๊ฑฐ๋ ๋ณํ์ด ํ์ํ๋คโ๊ณ ์๋ดํ๊ณ ์์ต๋๋ค.
2. ์ด๋ฒคํธ ์์ฑ์ผ๋ก ๋ณํ ๋ง์ฝ Mixpanel์ ์๋ ํ๋๋ผ๋, ์ด๋ฒคํธ์ properties(์์ฑ)๋ก ๋ฃ์ ์ ์๋ค๋ฉด ์ปค์คํ ์์ฑ์ผ๋ก ์ถ๊ฐํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Amplitude์ ํน์ ํ๋๋ฅผ Mixpanel ์ด๋ฒคํธ์ properties์ ํฌํจ์์ผ ์ ์ฅํ ์ ์์ต๋๋ค.
3. ๋ฃฉ์ ํ ์ด๋ธ ํ์ฉ Mixpanel์ Lookup Tables ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด, ๊ธฐ์กด์ ์๋ ์ธ๋ถ ๋ฐ์ดํฐ๋ฅผ ์ด๋ฒคํธ์ ์กฐ์ธํ์ฌ ํ์ฅํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Amplitude์์๋ง ๊ด๋ฆฌํ๋ ์ถ๊ฐ ์ ๋ณด๋ฅผ ๋ณ๋์ ํ ์ด๋ธ๋ก ๊ด๋ฆฌํ๊ณ , Mixpanel์์ ์ด๋ฒคํธ์ ์กฐ์ธํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.
4. ๋ฐ์ดํฐ ๋ณํ ๋ฐ ๋งคํ ๊ณผ์ ์์ ์ ์ค ํ์ฉ ์ผ๋ถ ๋ฐ์ดํฐ๋ Mixpanel์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ง๊ฒ ๋ณํํ๊ฑฐ๋, ์์ ์ ์ค๋๋ ๊ฒ์ ๊ฐ์ํด์ผ ํ ์๋ ์์ต๋๋ค. ๊ณต์ ๋ฌธ์์์๋ โAmplitude์ Mixpanel์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์, ์ผ๋ถ ๋ฐ์ดํฐ๋ ๋ณํ ๋๋ ์ ์ธ๊ฐ ํ์ํ๋คโ๊ณ ์๋ดํ๊ณ ์์ต๋๋ค.
Amplitude์ Mixpanel์ ๋ชจ๋ ์ด๋ฒคํธ ๊ธฐ๋ฐ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ์์งํ์ง๋ง, ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ์ด๋ฒคํธ ์ธ์๋ Mixpanel์ Amplitude์ ์๋ User Profiles, Group Profiles, Lookup Tables ๋ฑ์ ์ง์ํฉ๋๋ค. ์ผ๋ถ ํ๋๋ ๋งคํํ์ง ์๊ฑฐ๋ ๋ณํ์ด ํ์ํ ์ ์์ต๋๋ค.
Mixpanel ๋ง์ด๊ทธ๋ ์ด์ ๊ฐ์ด๋
์ฆ, Mixpanel ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์๋ Amplitude ๋ฐ์ดํฐ๋ - ํ์์ ๋ฐ๋ผ ์ ์ธํ๊ฑฐ๋, - ์ปค์คํ ์์ฑ์ผ๋ก ๋ณํํ๊ฑฐ๋, - Lookup Table ๋ฑ Mixpanel์ ํ์ฅ ๊ธฐ๋ฅ์ ํ์ฉํด ๋ณด์ํ ์ ์์ต๋๋ค. ๋ง์ด๊ทธ๋ ์ด์ ์ , ์ด๋ค ๋ฐ์ดํฐ๊ฐ ์ค์ํ์ง ์ฐ์ ์์๋ฅผ ์ ํ๊ณ , Mixpanel์์ ์ด๋ป๊ฒ ํ์ฉํ ์ง ์ค๊ณํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
Let me check the knowledge base for you again. One moment! ๐
Mixpanel์์ ์ด๋ฒคํธ์ ์๊ฐ(time)๊ณผ ์ฒ๋ฆฌ ์๊ฐ(mp_processing_time_ms)์ด ์ค์ ๋ฐ์ ์๊ฐ๊ณผ ๋ค๋ฅด๊ฒ ๋ณด์ด๋ ์ด์ ๋ Mixpanel์ ํ์์กด ์ฒ๋ฆฌ ๋ฐฉ์๊ณผ ์ด๋ฒคํธ ์ ์ฅ/ํ์ ๋ฐฉ์ ๋๋ฌธ์
๋๋ค.
- Mixpanel์ ์ด๋ฒคํธ ์๊ฐ(time):
Mixpanel์ ์ด๋ฒคํธ๋ฅผ ์์งํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก UTC(ํ์ ์ธ๊ณ์) ๊ธฐ์ค์ผ๋ก ์๊ฐ์ ์ ์ฅํฉ๋๋ค.
ํ๋ก์ ํธ ์ค์ ์ ๋ฐ๋ผ UI์์ ํ์๋๋ ์๊ฐ์ ํ๋ก์ ํธ ํ์์กด(์: GMT+9)์ผ๋ก ๋ณํ๋์ด ๋ณด์ผ ์ ์์ต๋๋ค.
ํ์ง๋ง, ์ด๋ฒคํธ๊ฐ ์๋ฒ์ ๋๋ฌํ ์์ ์ด๋, ๋ฐ์ดํฐ๊ฐ ์ฒ๋ฆฌ๋ ์์ (mp_processing_time_ms)์ UTC๋ก ๊ธฐ๋ก๋ฉ๋๋ค.
- ์ค์ ๋ฐ์ ์๊ฐ๊ณผ Mixpanel์ ํ์๋๋ ์๊ฐ์ ์ฐจ์ด 1. ์ด๋ฒคํธ ๋ฐ์ ์๊ฐ: ์๋ฅผ ๋ค์ด, ์ค์ ์ด๋ฒคํธ๊ฐ "June 26, 2025 12:44:56.526 PM GMT+9"์ ๋ฐ์ํ๋ค๋ฉด, ์ด ์๊ฐ์ UTC๋ก ๋ณํํ๋ฉด "June 26, 2025 03:44:56.526 AM UTC"๊ฐ ๋ฉ๋๋ค. 2. Mixpanel์ time ํ๋: ์ด ๊ฐ์ด ์ ๋๋ก UTC๋ก ๋ณํ๋์ด ์ ์ฅ๋์ด์ผ UI์์ ์ฌ๋ฐ๋ฅธ ํ์์กด์ผ๋ก ๋ค์ ๋ณํํด ๋ณด์ฌ์ค๋๋ค. 3. Mixpanel์ mp_processing_time_ms: ์ด ๊ฐ์ ์ด๋ฒคํธ๊ฐ Mixpanel ์๋ฒ์์ ์ฒ๋ฆฌ๋ ์์ (UTC)์ ๋๋ค. ๋คํธ์ํฌ ์ง์ฐ, ์๋ฒ ์ฒ๋ฆฌ ์ง์ฐ ๋ฑ์ผ๋ก ์ธํด ์ค์ ์ด๋ฒคํธ ๋ฐ์ ์๊ฐ๊ณผ ๋ค๋ฅผ ์ ์์ต๋๋ค.
- ํ์์กด ์ค์ ๋ฐ ํ์ ๋ฐฉ์ Mixpanel ํ๋ก์ ํธ์ ํ์์กด ์ค์ ์ ๋ฐ๋ผ UI์์ ๋ณด์ด๋ ์๊ฐ์ด ๋ฌ๋ผ์ง ์ ์์ต๋๋ค. ํ๋ก์ ํธ ํ์์กด์ ํ์ธํ๊ณ , ์ด๋ฒคํธ์ ์๋ณธ ํ์์คํฌํ๊ฐ UTC๋ก ์ ํํ ๋ณํ๋์ด ์ ์ก๋๊ณ ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
Mixpanel records all events in Coordinated Universal Time (UTC) at intake. Changing the timezone for any project under Project Settings only affects the timezone in which Mixpanel outputs results.
The $time property values from your raw event export are Unix timestamps, which represents the number of seconds that have elapsed since 00:00:00 on January 1, 1970.
Manage Timezones for Projects
์ ๋ฆฌ:
- Mixpanel์ ํ์๋๋ ์๊ฐ์ UTC ๊ธฐ์ค์ผ๋ก ์ ์ฅ๋๊ณ , ํ๋ก์ ํธ ํ์์กด์ ๋ฐ๋ผ ๋ณํ๋์ด ๋ณด์
๋๋ค.
- mp_processing_time_ms๋ Mixpanel ์๋ฒ์์ ์ด๋ฒคํธ๊ฐ ์ฒ๋ฆฌ๋ ์์ (UTC)์
๋๋ค.
- ์ค์ ๋ฐ์ ์๊ฐ๊ณผ Mixpanel์ ํ์๋๋ ์๊ฐ์ด ๋ค๋ฅด๋ค๋ฉด, ํ์์กด ๋ณํ ๋๋ ์ด๋ฒคํธ ์ ์ก ์์ ์ ๋ฌธ์ ์ผ ์ ์์ต๋๋ค.
์ด ๋ถ๋ถ์ ํ์ธํด๋ณด์๊ณ , ์ฌ์ ํ ์ฐจ์ด๊ฐ ํฌ๋ค๋ฉด ์ด๋ฒคํธ ์ ์ก ์ ํ์์คํฌํ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ UTC๋ก ๋ณํ๋์ด ์๋์ง ์ ๊ฒํด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
โน๏ธย Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
