A’ faighinn dàta Amplitude air ais tro API

Ro-ràdh

Tha Amplitude air a dhearbhadh fhèin gu math mar inneal anailis toraidh air sgàth cho furasta ‘s a tha e tachartas tachartais agus sùbailteachd fradharc. Agus gu tric feumar am modail buadhachaidh agad fhèin a stèidheachadh, luchd-cleachdaidh cnuasachaidh, no deas-bhòrd a thogail ann an siostam BI eile. Chan urrainnear a leithid de fhoill a dhèanamh ach le dàta tachartas amh bho Amplitude. Innsidh an artaigil seo dhut mar a gheibh thu an dàta seo le glè bheag de eòlas prògramadh.

Ro-ghoireasan

  1. Pròiseact ann an Amplitude anns a bheil tachartasan mar-thà air an rèiteachadh gu ceart agus staitistig gan cruinneachadh
  2. Tha Python air a chuir a-steach (tha mi ag obair ann an dreach 3.8.3), leis an urrainn don leughadair a bhith ag obair leis co-dhiù aig ìre bhunasach

Stiùireadh

Ceum 1. A 'faighinn API-iuchair agus dìomhair-iuchrach

Gus dàta a luchdachadh suas, feumaidh tu an toiseach iuchair API agus iuchair dhìomhair fhaighinn.

Gheibh thu iad le bhith a’ leantainn na slighe a leanas:

  1. “Stiùirich dàta” (suidhichte aig bonn clì na sgrìn)
  2. Tagh am pròiseact a tha thu ag iarraidh bhon tèid an dàta a luchdachadh sìos agus rachaibh thuige
  3. Ann an clàr-taice a 'phròiseict a tha a' fosgladh, tagh "Project settings"
  4. Lorgaidh sinn na sreathan API-key agus dìomhair-iuchrach, dèan lethbhreac agus sàbhail iad ann an àite sàbhailte.

Gun cliogadh, faodaidh tu an ceangal a leantainn, a tha san fharsaingeachd a’ coimhead mar seo:
analytics.amplitude.com/$$$$$$/manage/project/******/settings,
far a bheil $$$$$$ mar logadh a-steach leudachd na buidhne agad, is e ****** àireamh a’ phròiseict

Ceum 2: Dèan sgrùdadh air làthaireachd nan leabharlannan a tha a dhìth

Is e an deagh naidheachd gu bheil thu cha mhòr cinnteach gu bheil na leabharlannan sin air an stàladh gu bunaiteach no air an luchdachadh sìos, ach feumaidh tu sgrùdadh a dhèanamh. An liosta iomlan de leabharlannan a chleachd mi aig àm sgrìobhaidh (tha dreachan ann am bragan air an comharrachadh far a bheil sin iomchaidh):

  1. iarrtasan (2.10.0) - a’ cur iarrtas tro api gus dàta fhaighinn
  2. pandathan (1.0.1) - a’ leughadh json, a’ cruthachadh frèam-dàta agus an uairsin a’ sgrìobhadh gu faidhle
  3. zipfile - thoir a-mach faidhlichean bho thasglann a gheibhear tron ​​​​API
  4. gzip - dì-phapadh faidhlichean json bho .gz
  5. os - a' faighinn liosta fhaidhlichean bho thasglann gun phacaid
  6. ùine - roghainneil, tomhas ùine ruith an sgriobt
  7. tqdm - roghainneil, airson sùil a chumail gu furasta air adhartas giollachd fhaidhlichean

Ceum 3. A 'sgrìobhadh sgriobt luchdadh dàta

Beachd: tha an sgriobt làn luchdachadh sìos aig deireadh an artaigil; ma thogras tu, faodaidh tu a ghabhail sa bhad agus iomradh a thoirt air na mìneachaidhean ceum air cheum ma tha sin riatanach.

Ceum 3.1. A’ toirt a-steach leabharlannan

Bidh sinn a’ toirt a-steach a h-uile leabharlann a tha air an liostadh san dàrna ceum.

# Импорт библиотек
import requests
import pandas as pd
import zipfile
import gzip
import os
import time
import tqdm
from tqdm import tqdm

Ceum 3.2. A’ cur a-steach iarrtas gu Amplitude

Feuch an lorg sinn toiseach cur an gnìomh sgriobt agus sgrìobh e gu caochladair a.

tha ceann-latha tòiseachaidh agus ceann-latha an urra ris an ùine airson dàta a luchdachadh sìos agus tha iad air an togail a-steach do theacsa an iarrtais a chaidh a chuir chun t-seirbheisiche Amplitude; a bharrachd air a’ cheann-latha, faodaidh tu cuideachd an uair a shònrachadh le bhith ag atharrachadh an luach às deidh ‘T’ san iarrtas.

api_key agus secret_key a’ freagairt ris na luachan a fhuaireadh sa chiad cheum; airson adhbharan tèarainteachd, bidh mi a’ sònrachadh sreathan air thuaiream an seo an àite mo chuid fhìn.

a = time.time()
# Параметры начальной и конечной даты
startdate = '20200627'
enddate = '20200628'

api_key = 'kldfg844203rkwekfjs9234'
secret_key = '094tfjdsfmw93mxwfek'
# Отправление запроса в Amplitude
response = requests.get('https://amplitude.com/api/2/export?start='+startdate+'T0&end='+enddate+'T0', auth = (api_key, secret_key))
print('1. Запрос отправлен')

Ceum 3.3. Luchdaich a-nuas tasglann le dàta

Bidh sinn a’ tighinn suas le ainm airson an tasglann agus ga sgrìobhadh chun chaochladair ainm faidhle. Airson mo ghoireasachd, tha mi a’ comharrachadh an ùine + comharraich gur e dàta leudachaidh a tha seo. An uairsin, bidh sinn a’ clàradh an fhreagairt a fhuair sinn bho Amplitude a-steach don tasglann.

# Скачивание архива с данными
filename = 'period_since'+startdate+'to'+enddate+'_amplitude_data'
with open(filename + '.zip', "wb") as code:
    code.write(response.content)
print('2. Архив с файлами успешно скачан')  

Ceum 3.4. Faidhlichean a luchdachadh a-nuas bho am pasgan air a ' choimpiutair agad

Thig an leabharlann zipfile a-steach gus cuideachadh le bhith a’ toirt a-mach faidhlichean. Anns an treas loidhne, bi faiceallach agus sgrìobh sìos do shlighe far a bheil e nas fhasa dhut a tharraing.

# Извлечение файлов в папку на компьютере
z = zipfile.ZipFile(filename + '.zip', 'r')
z.extractall(path = 'C:\Users\...\'+filename)
print('3. Архив с файлами извлечен и записан в папку ' + filename)

Ceum 3.5. tionndadh json

Às deidh dhut na faidhlichean a thoirt a-mach às an tasglann, feumaidh tu faidhlichean json a thionndadh gu cruth .gz agus an sgrìobhadh gu frèam-dàta airson tuilleadh obrach.

Thoir an aire gum feum thu an t-slighe agad atharrachadh a-rithist chun fhear agad fhèin, agus an àite 000000 sgrìobh àireamh do phròiseact bho Amplitude (no fosgail le làimh an t-slighe far an deach an tasglann a thoirt a-mach agus coimhead air ainm a’ phasgan a-staigh).

Ann an òrdugh:

A’ sgrìobhadh eòlaire gu caochladair, a’ faighinn liosta fhaidhlichean bho eòlaire, a’ cruthachadh frèam dàta falamh, time.sleep(1) airson tqdm obrachadh gu ceart, taobh a-staigh an lùb bidh sinn a’ fosgladh faidhlichean .gz agus a’ cleachdadh pandathan sa bhad gus json a leughadh agus a lìonadh am frèam dàta a chaidh a thoirt seachad.

# Преобразование json к обычному табличному формату
directory = 'C:\Users\...\'+filename+'
# Преобразование json к обычному табличному формату
directory = 'C:\Users\...\'+filename+'\000000'
files = os.listdir(directory)
amplitude_dataframe = pd.DataFrame()
print('Прогресс обработки файлов:')
time.sleep(1)
for i in tqdm(files):
with gzip.open(directory + '\' + i) as f:
add = pd.read_json(f, lines = 'True')
amplitude_dataframe = pd.concat([amplitude_dataframe, add])
time.sleep(1)    
print('4. JSON файлы из архива успешно преобразованы и записаны в dataframe')
0000' files = os.listdir(directory) amplitude_dataframe = pd.DataFrame() print('Прогресс обработки файлов:') time.sleep(1) for i in tqdm(files): with gzip.open(directory + '\' + i) as f: add = pd.read_json(f, lines = 'True') amplitude_dataframe = pd.concat([amplitude_dataframe, add]) time.sleep(1) print('4. JSON файлы из архива успешно преобразованы и записаны в dataframe')

Ceum 3.6. A ' sgrìobhadh an stòr-dàta ann an excel

Tha an luchdachadh suas gu excel mar eisimpleir an seo. Ann an iomadh cùis, tha e nas fhasa obrachadh leis an fhrèam dàta a thig às a-staigh python no an dàta a chuir ann an stòradh.

Feumaidh tu cuideachd do shlighe fhèin a chuir an àite an t-slighe luchdachadh suas dàta an seo.

# Записать полученной таблицы в Excel-файл
amplitude_dataframe.to_excel('C:\Users\...\'+filename+'.xlsx',index=False)
print('5. Dataframe успешно записан в файл ' + filename)

Ceum 3.7. Bidh sinn a’ cunntadh ùine ruith an sgriobt

Clàradh na h-ùine làithreach anns a’ chaochladair b, obrachadh a-mach an eadar-dhealachaidh agus an àireamh de gheàrr-chunntasan, a’ taisbeanadh na geàrr-chunntasan iomlan. Is e seo an ceum mu dheireadh.

b = time.time()
diff = b-a
minutes = diff//60
print('Выполнение кода заняло: {:.0f} минут(ы)'.format( minutes))

co-dhùnadh

Faodaidh tu fios a chuir chun chlàr agus tòiseachadh ag obair leis le bhith a’ gairm an caochladair amplitude_dataframe anns an deach an dàta a sgrìobhadh. Bidh timcheall air 50 colbh ann, agus ann an 80% de chùisean cleachdaidh tu: event_type - ainm an tachartais, event_properties - paramadairean tachartais, event_time - àm tachartais, uuid - id teachdaiche, cleachdaiche_properties - paramadairean teachdaiche, bu chòir dhut tòiseachadh ag obair còmhla riutha an-toiseach . Agus nuair a thathar a’ dèanamh coimeas eadar figearan bhon àireamhachadh agad fhèin le taisbeanairean bho chlàran-amais Amplitude, cha bu chòir dhut dìochuimhneachadh gu bheil an siostam a’ cleachdadh a dhòigh-obrach fhèin airson a bhith a’ tomhas teachdaichean / tunailean sònraichte, msaa, agus mus dèan thu seo, bu chòir dhut na sgrìobhainnean Amplitude a leughadh gu cinnteach.

Tapadh leibh airson an aire agad! A-nis faodaidh tu dàta tachartais amh a luchdachadh suas gu Amplitude agus a chleachdadh gu h-iomlan nad obair.

Sgriobt slàn:

# Импорт библиотек
import requests
import pandas as pd
import zipfile
import gzip
import os
import time
import tqdm
from tqdm import tqdm
a = time.time()
# Параметры начальной и конечной даты
startdate = '20200627'
enddate = '20200628'

api_key = 'd988fddd7cfc0a8a'
secret_key = 'da05cf1aeb3a361a61'
# Отправление запроса в Amplitude
response = requests.get('https://amplitude.com/api/2/export?start='+startdate+'T0&end='+enddate+'T0', auth = (api_key, secret_key))
print('1. Запрос отправлен')

# Скачивание архива с данными
filename = 'period_since'+startdate+'to'+enddate+'_amplitude_data'
with open(filename + '.zip', "wb") as code:
    code.write(response.content)
print('2. Архив с файлами успешно скачан')  

# Извлечение файлов в папку на компьютере
z = zipfile.ZipFile(filename + '.zip', 'r')
z.extractall(path = 'C:\Users\...\'+filename)
print('3. Архив с файлами извлечен и записан в папку ' + filename)

# Преобразование json к обычному табличному формату
directory = 'C:\Users\...\'+filename+'
# Импорт библиотек
import requests
import pandas as pd
import zipfile
import gzip
import os
import time
import tqdm
from tqdm import tqdm
a = time.time()
# Параметры начальной и конечной даты
startdate = '20200627'
enddate = '20200628'
api_key = 'd988fddd7cfc0a8a'
secret_key = 'da05cf1aeb3a361a61'
# Отправление запроса в Amplitude
response = requests.get('https://amplitude.com/api/2/export?start='+startdate+'T0&end='+enddate+'T0', auth = (api_key, secret_key))
print('1. Запрос отправлен')
# Скачивание архива с данными
filename = 'period_since'+startdate+'to'+enddate+'_amplitude_data'
with open(filename + '.zip', "wb") as code:
code.write(response.content)
print('2. Архив с файлами успешно скачан')  
# Извлечение файлов в папку на компьютере
z = zipfile.ZipFile(filename + '.zip', 'r')
z.extractall(path = 'C:\Users\...\'+filename)
print('3. Архив с файлами извлечен и записан в папку ' + filename)
# Преобразование json к обычному табличному формату
directory = 'C:\Users\...\'+filename+'\000000'
files = os.listdir(directory)
amplitude_dataframe = pd.DataFrame()
print('Прогресс обработки файлов:')
time.sleep(1)
for i in tqdm(files):
with gzip.open(directory + '\' + i) as f:
add = pd.read_json(f, lines = 'True')
amplitude_dataframe = pd.concat([amplitude_dataframe, add])
time.sleep(1)    
print('4. JSON файлы из архива успешно преобразованы и записаны в dataframe')
# Записать полученной таблицы в Excel-файл
amplitude_dataframe.to_excel('C:\Users\...\'+filename+'.xlsx',index=False)
print('5. Dataframe успешно записан в файл ' + filename)
b = time.time()
diff = b-a
minutes = diff//60
print('Выполнение кода заняло: {:.0f} минут(ы)'.format( minutes))
0000' files = os.listdir(directory) amplitude_dataframe = pd.DataFrame() print('Прогресс обработки файлов:') time.sleep(1) for i in tqdm(files): with gzip.open(directory + '\' + i) as f: add = pd.read_json(f, lines = 'True') amplitude_dataframe = pd.concat([amplitude_dataframe, add]) time.sleep(1) print('4. JSON файлы из архива успешно преобразованы и записаны в dataframe') # Записать полученной таблицы в Excel-файл amplitude_dataframe.to_excel('C:\Users\...\'+filename+'.xlsx',index=False) print('5. Dataframe успешно записан в файл ' + filename) b = time.time() diff = b-a minutes = diff//60 print('Выполнение кода заняло: {:.0f} минут(ы)'.format( minutes))

Source: www.habr.com

Cuir beachd ann