рд╕рдзреНрдпрд╛, рдЬрдЧрд╛рддреАрд▓ рдЬрд╡рд│рдЬрд╡рд│ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдкрдиреА рд╡реЗрдм рд╕рдВрд╕рд╛рдзрдирд╛рд╡рд░реАрд▓ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд░рд┐рдпрд╛рдВрдЪреА рдЖрдХрдбреЗрд╡рд╛рд░реА рдЧреЛрд│рд╛ рдХрд░рддреЗ. рдкреНрд░реЗрд░рдгрд╛ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ - рдХрдВрдкрдиреНрдпрд╛рдВрдирд╛ рддреНрдпрд╛рдВрдЪреЗ рдЙрддреНрдкрд╛рджрди/рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд╢реА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ рд╣реЗ рдЬрд╛рдгреВрди рдШреНрдпрд╛рдпрдЪреЗ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдордЬреВрди рдШреНрдпрд╛рдпрдЪреЗ рдЖрд╣реЗ. рдЕрд░реНрдерд╛рдд, рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмрд╛рдЬрд╛рд░рд╛рдд рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╕рд╛рдзрдиреЗ рдЖрд╣реЗрдд - рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдгрд╛рд▓реАрдВрдордзреВрди рдЬреЗ рдбреЕрд╢рдмреЛрд░реНрдб рдЖрдгрд┐ рдЖрд▓реЗрдЦрд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛рдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде
рдкрд░рдВрддреБ рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдЖрдврд│рд▓реА рдЬреА рдЕрджреНрдпрд╛рдк рд╕реЛрдбрд╡рд┐рд▓реА рдЧреЗрд▓реА рдирд╛рд╣реА. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рдЬрдиреНрдо рдЭрд╛рд▓рд╛
рдЖрдкрдг рд╕реНрд╡рддрдГрдЪреА рд╕реЗрд╡рд╛ рдХрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рд╛рд╡реА?
рдирд╡реНрд╡рджрдЪреЗ рджрд╢рдХ рд╣реЛрддреЗ, рдЖрдореНрд╣реА рд╢рдХреНрдп рддрд┐рддрдХреЗ рдЯрд┐рдХреВрди рд░рд╛рд╣рд┐рд▓реЛ. 2019, рдЖрдореНрд╣реА API рдкреНрд░рдердо рдЧреНрд░рд╛рд╣рдХ рдбреЗрдЯрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓рд╛ kSense, рдЬреНрдпрд╛рдореБрд│реЗ рдЕрдзрд┐рдХ рд╕реЛрдпреАрд╕реНрдХрд░ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдУрд│рдЦрдгреЗ рдЗрддреНрдпрд╛рджреАрд╕рд╛рдареА рд╡рд┐рд╡рд┐рдз рд╕реНрддреНрд░реЛрддрд╛рдВрдХрдбреВрди рдбреЗрдЯрд╛ рдПрдХрддреНрд░рд┐рдд рдХрд░рдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ (рдлреЗрд╕рдмреБрдХ рдЬрд╛рд╣рд┐рд░рд╛рддреА, рд╕реНрдЯреНрд░рд╛рдЗрдк, рд╕реЗрд▓реНрд╕рдлреЛрд░реНрд╕, Google рдкреНрд▓реЗ, Google Analytics, рдЗ.). рдЖрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реЗ рдЖрд╣реЗ рдХреА рдмрд░реЗрдЪ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдЖрдордЪреНрдпрд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪрд╛ рд╡рд╛рдкрд░ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рд╕рд╛рдареА рдХрд░рддрд╛рдд рд╡рд┐рд╢реЗрд╖рдд: Google Analytics (рдпрд╛рдкреБрдвреЗ GA). рдЖрдореНрд╣реА рдХрд╛рд╣реА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╢реА рдмреЛрд▓рд▓реЛ рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдврд│рд▓реЗ рдХреА рддреНрдпрд╛рдВрдирд╛ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЙрддреНрдкрд╛рджрдирд╛рд╕рд╛рдареА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдбреЗрдЯрд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЛ рддреЗ GA рд╡рд╛рдкрд░реВрди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛рдд, рдкрд░рдВрддреБ
рддреНрдпрд╛рдВрдиреА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡реЗрдм рд╕рдВрд╕рд╛рдзрдирд╛рд╡рд░ рд╕реЗрдЧрдореЗрдВрдЯ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд┐рдХреНрд╕реЗрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓рд╛ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд░реНрддрдирд╛рдмрджреНрджрд▓рдЪрд╛ рдбреЗрдЯрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд▓реЛрдб рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕). рдкрд░рдВрддреБ рд╕реЗрдЧрдореЗрдВрдЯрд▓рд╛ рджреЗрдЦреАрд▓ рддреНрдпрд╛рдЪреА рдХрдорддрд░рддрд╛ рдЖрд╣реЗ - рдХрд┐рдВрдордд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╡реЗрдм рд╕рдВрд╕рд╛рдзрдирд╛рдордзреНрдпреЗ 90,000 MTU (рдорд╛рд╕рд┐рдХ рдЯреНрд░реЕрдХ рдХреЗрд▓реЗрд▓реЗ рд╡рд╛рдкрд░рдХрд░реНрддреЗ) рдЕрд╕рд▓реНрдпрд╛рд╕, рддреБрдореНрд╣рд╛рд▓рд╛ рджрд░рдорд╣рд╛ ~1,000 $ рдХреЕрд╢рд┐рдпрд░рд▓рд╛ рднрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓. рддрд┐рд╕рд░реА рд╕рдорд╕реНрдпрд╛ рджреЗрдЦреАрд▓ рд╣реЛрддреА - рдХрд╛рд╣реА рдмреНрд░рд╛рдЙрдЭрд░ рд╡рд┐рд╕реНрддрд╛рд░рд╛рдВрдиреА (рдЬрд╕реЗ рдХреА AdBlock) рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рдЪреЗ рд╕рдВрдХрд▓рди рдЕрд╡рд░реЛрдзрд┐рдд рдХреЗрд▓реЗ рдХрд╛рд░рдг... рдмреНрд░рд╛рдЙрдЭрд░рдХрдбреВрди http рд╡рд┐рдирдВрддреНрдпрд╛ GA рдЖрдгрд┐ рд╕реЗрдЧрдореЗрдВрдЯ рдбреЛрдореЗрдирд╡рд░ рдкрд╛рдард╡рд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛. рдЖрдордЪреНрдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдЗрдЪреНрдЫреЗрдиреБрд╕рд╛рд░, рдЖрдореНрд╣реА рдПрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗрд╡рд╛ рддрдпрд╛рд░ рдХреЗрд▓реА рдЖрд╣реЗ рдЬреА рдбреЗрдЯрд╛рдЪрд╛ рд╕рдВрдкреВрд░реНрдг рд╕рдВрдЪ (рдирдореБрдиреЗ рди рдШреЗрддрд╛) рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ, рд╡рд┐рдирд╛рдореВрд▓реНрдп рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдордЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╡рд░ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддреЗ.
рд╕реЗрд╡рд╛ рдХрд╢реА рдХрд╛рд░реНрдп рдХрд░рддреЗ
рд╕реЗрд╡реЗрдордзреНрдпреЗ рддреАрди рднрд╛рдЧ рдЕрд╕рддрд╛рдд: рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд┐рдХреНрд╕реЗрд▓ (рдЬреЗ рдЖрдореНрд╣реА рдирдВрддрд░ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣рд┐рд▓реЗ), рд╕рд░реНрд╡реНрд╣рд░рдЪрд╛ рднрд╛рдЧ GO рднрд╛рд╖реЗрдд рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ Redshift рдЖрдгрд┐ BigQuery рдЪрд╛ рдЗрди-рд╣рд╛рдЙрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рд╣реЛрддреА (рдирдВрддрд░ рддреНрдпрд╛рдВрдиреА рдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ. рдкреЛрд╕реНрдЯрдЧреНрд░реЗрд╕, рдХреНрд▓рд┐рдХрд╣рд╛рдКрд╕ рдЖрдгрд┐ рд╕реНрдиреЛрдлреНрд▓реЗрдХ).
GA рдЖрдгрд┐ рд╕реЗрдЧрдореЗрдВрдЯ рдЗрд╡реНрд╣реЗрдВрдЯрдЪреА рд░рдЪрдирд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдареЗрд╡рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрдгреНрдпрд╛рдд рдЖрд▓рд╛. рдЖрдордЪреНрдпрд╛ рдмреЕрдХрдПрдВрдбрд╡рд░ рдкрд┐рдХреНрд╕реЗрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡реЗрдм рд╕рдВрд╕рд╛рдзрдирд╛рд╡рд░реАрд▓ рд╕рд░реНрд╡ рдЗрд╡реНрд╣реЗрдВрдЯрдЪреА рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ. рддреЛ рдмрд╛рд╣реЗрд░ рд╡рд│рддреЗ рдореНрд╣рдгреВрди, рд╣реЗ рдХрд░рдгреЗ рдХрдареАрдг рдирд╛рд╣реА рдЖрд╣реЗ. JavaScript рдкрд┐рдХреНрд╕реЗрд▓рдиреЗ рдореВрд│ GA рд▓рд╛рдпрдмреНрд░рд░реА рдкрджреНрдзрддреАрд▓рд╛ рдирд╡реАрдирд╕рд╣ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб рдХреЗрд▓реЗ, рдЬреНрдпрд╛рдиреЗ рдЖрдордЪреНрдпрд╛ рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдЗрд╡реНрд╣реЗрдВрдЯрдЪреА рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЗрд▓реА.
//'ga' - ╤Б╤В╨░╨╜╨┤╨░╤А╤В╨╜╨╛╨╡ ╨╜╨░╨╖╨▓╨░╨╜╨╕╨╡ ╨┐╨╡╤А╨╡╨╝╨╡╨╜╨╜╨╛╨╣ Google Analytics
if (window.ga) {
ga(tracker => {
var originalSendHitTask = tracker.get('sendHitTask');
tracker.set('sendHitTask', (model) => {
var payLoad = model.get('hitPayload');
//╨╛╤В╨┐╤А╨░╨▓╨║╨░ ╨╛╤А╨╕╨│╨╕╨╜╨░╨╗╤М╨╜╨╛╨│╨╛ ╤Б╨╛╨▒╤Л╤В╨╕╤П ╨▓ GA
originalSendHitTask(model);
let jsonPayload = this.parseQuery(payLoad);
//╨╛╤В╨┐╤А╨░╨▓╨║╨░ ╤Б╨╛╨▒╤Л╤В╨╕╤П ╨▓ ╨╜╨░╤И ╤Б╨╡╤А╨▓╨╕╤Б
this.send3p('ga', jsonPayload);
});
});
}
рд╕реЗрдЧрдореЗрдВрдЯ рдкрд┐рдХреНрд╕реЗрд▓рд╕рд╣ рд╕рд░реНрд╡ рдХрд╛рд╣реА рд╕реЛрдкреЗ рдЖрд╣реЗ; рддреНрдпрд╛рдд рдорд┐рдбрд▓рд╡реЗрдЕрд░ рдкрджреНрдзрддреА рдЖрд╣реЗрдд, рддреНрдпрд╛рдкреИрдХреА рдПрдХ рдЖрдореНрд╣реА рд╡рд╛рдкрд░рд▓рд╛ рдЖрд╣реЗ.
//'analytics' - ╤Б╤В╨░╨╜╨┤╨░╤А╤В╨╜╨╛╨╡ ╨╜╨░╨╖╨▓╨░╨╜╨╕╨╡ ╨┐╨╡╤А╨╡╨╝╨╡╨╜╨╜╨╛╨╣ Segment
if (window.analytics) {
if (window.analytics.addSourceMiddleware) {
window.analytics.addSourceMiddleware(chain => {
try {
//╨┤╤Г╨▒╨╗╨╕╤А╨╛╨▓╨░╨╜╨╕╨╡ ╤Б╨╛╨▒╤Л╤В╨╕╤П ╨▓ ╨╜╨░╤И ╤Б╨╡╤А╨▓╨╕╤Б
this.send3p('ajs', chain.payload);
} catch (e) {
LOG.warn('Failed to send an event', e)
}
//╨╛╤В╨┐╤А╨░╨▓╨║╨░ ╨╛╤А╨╕╨│╨╕╨╜╨░╨╗╤М╨╜╨╛╨│╨╛ ╤Б╨╛╨▒╤Л╤В╨╕╤П ╨▓ Segment
chain.next(chain.payload);
});
} else {
LOG.warn("Invalid interceptor state. Analytics js initialized, but not completely");
}
} else {
LOG.warn('Analytics.js listener is not set.');
}
рдЗрд╡реНрд╣реЗрдВрдЯ рдХреЙрдкреА рдХрд░рдгреНрдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдЖрдореНрд╣реА рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд json рдкрд╛рдард╡рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд▓реА рдЖрд╣реЗ:
//╨Ю╤В╨┐╤А╨░╨▓╨║╨░ ╤Б╨╛╨▒╤Л╤В╨╕╨╣ ╤Б ╨┐╤А╨╛╨╕╨╖╨▓╨╛╨╗╤М╨╜╤Л╨╝ json ╨╛╨▒╤К╨╡╨║╤В╨╛╨╝
eventN.track('product_page_view', {
product_id: '1e48fb70-ef12-4ea9-ab10-fd0b910c49ce',
product_price: 399.99,
price_currency: 'USD'
product_release_start: '2020-09-25T12:38:27.763000Z'
});
рдкреБрдвреЗ, рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рднрд╛рдЧрд╛рдмрджреНрджрд▓ рдмреЛрд▓реВрдпрд╛. рдмреЕрдХрдПрдВрдбрдиреЗ http рд╡рд┐рдирдВрддреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░рд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд, рддреНрдпрд╛рдВрдирд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рд╣рд┐рддреА рднрд░рд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рднреМрдЧреЛрд▓рд┐рдХ рдбреЗрдЯрд╛ (рдзрдиреНрдпрд╡рд╛рдж
//╨▓╤Е╨╛╨┤╤П╤Й╨╕╨╣ json
{
"field_1": {
"sub_field_1": "text1",
"sub_field_2": 100
},
"field_2": "text2",
"field_3": {
"sub_field_1": {
"sub_sub_field_1": "2020-09-25T12:38:27.763000Z"
}
}
}
//╤А╨╡╨╖╤Г╨╗╤М╤В╨░╤В
{
"field_1_sub_field_1": "text1",
"field_1_sub_field_2": 100,
"field_2": "text2",
"field_3_sub_field_1_sub_sub_field_1": "2020-09-25T12:38:27.763000Z"
}
рддрдерд╛рдкрд┐, рдЕреЕрд░реЗ рд╕рдзреНрдпрд╛ рдлрдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧрдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд рдХрд╛рд░рдг рд╕рд░реНрд╡ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдлреАрд▓реНрдбрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдд рдирд╛рд╣реАрдд. рдкрд░реНрдпрд╛рдпреА рдореЕрдкрд┐рдВрдЧ рдирд┐рдпрдо рд╡рд╛рдкрд░реВрди рдлреАрд▓реНрдбрдЪреА рдирд╛рд╡реЗ рдмрджрд▓рдгреЗ рдХрд┐рдВрд╡рд╛ рд╣рдЯрд╡рдгреЗ рджреЗрдЦреАрд▓ рд╢рдХреНрдп рдЖрд╣реЗ. рддреЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕ рдбреЗрдЯрд╛ рд╕реНрдХреАрдорд╛ рдмрджрд▓рдгреНрдпрд╛рдЪреА рдХрд┐рдВрд╡рд╛ рдПрдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░рд╛рдд рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, json рдлреАрд▓реНрдбрдордзреНрдпреЗ рдЯрд╛рдЗрдорд╕реНрдЯреЕрдореНрдк рдЕрд╕рд▓реЗрд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЕрд╕рд▓реНрдпрд╛рд╕ (рдлреАрд▓реНрдб_3_sub_field_1_sub_sub_field_1 рд╡рд░реАрд▓ рдЙрджрд╛рд╣рд░рдгрд╛рд╡рд░реВрди), рдирдВрддрд░ рдЯрд╛рдЗрдорд╕реНрдЯреЕрдореНрдк рдкреНрд░рдХрд╛рд░рд╛рд╕рд╣ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдлреАрд▓реНрдб рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рдореЕрдкрд┐рдВрдЧ рдирд┐рдпрдо рд▓рд┐рд╣рд┐рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рдлреАрд▓реНрдбрдЪрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдкреНрд░рдердо json рдореВрд▓реНрдпрд╛рджреНрд╡рд╛рд░реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдирдВрддрд░ рдкреНрд░рдХрд╛рд░ рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдирд┐рдпрдо (рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓рд╛ рдЕрд╕рд▓реНрдпрд╛рд╕) рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рдЖрдореНрд╣реА 4 рдореБрдЦреНрдп рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдУрд│рдЦрд▓реЗ рдЖрд╣реЗрдд: STRING, FLOAT64, INT64 рдЖрдгрд┐ TIMESTAMP. рдореЕрдкрд┐рдВрдЧ рдЖрдгрд┐ рдЯрд╛рдЗрдк рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдирд┐рдпрдо рдЕрд╕реЗ рджрд┐рд╕рддрд╛рдд:
rules:
- "/field_1/subfield_1 -> " #╨┐╤А╨░╨▓╨╕╨╗╨╛ ╤Г╨┤╨░╨╗╨╡╨╜╨╕╤П ╨┐╨╛╨╗╤П
- "/field_2/subfield_1 -> /field_10/subfield_1" #╨┐╤А╨░╨▓╨╕╨╗╨╛ ╨┐╨╡╤А╨╡╨╜╨╛╤Б╨░ ╨┐╨╛╨╗╤П
- "/field_3/subfield_1/subsubfield_1 -> (timestamp) /field_20" #╨┐╤А╨░╨▓╨╕╨╗╨╛ ╨┐╨╡╤А╨╡╨╜╨╛╤Б╨░ ╨┐╨╛╨╗╤П ╨╕ ╨┐╤А╨╕╨▓╨╡╨┤╨╡╨╜╨╕╤П ╤В╨╕╨┐╨░
рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо:
- рдЬреЗрд╕рди рд╕реНрдЯреНрд░рдХреНрдЪрд░рд▓рд╛ рдлреНрд▓реЕрдЯ рд╕реНрдЯреНрд░рдХреНрдЪрд░рдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рд╛
- рдореВрд▓реНрдпрд╛рдВрджреНрд╡рд╛рд░реЗ рдлреАрд▓реНрдбрдЪрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреЗ
- рдореЕрдкрд┐рдВрдЧ рдЖрдгрд┐ рдЯрд╛рдЗрдк рдХрд╛рд╕реНрдЯрд┐рдВрдЧ рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рдгреЗ
рдирдВрддрд░ рдпреЗрдгрд╛рд░реНтАНрдпрд╛ json рд╕рдВрд░рдЪрдиреЗрддреВрди:
{
"product_id": "1e48fb70-ef12-4ea9-ab10-fd0b910c49ce",
"product_price": 399.99,
"price_currency": "USD",
"product_type": "supplies",
"product_release_start": "2020-09-25T12:38:27.763000Z",
"images": {
"main": "picture1",
"sub": "picture2"
}
}
рдбреЗрдЯрд╛ рд╕реНрдХреАрдорд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдИрд▓:
"product_id" character varying,
"product_price" numeric (38,18),
"price_currency" character varying,
"product_type" character varying,
"product_release_start" timestamp,
"images_main" character varying,
"images_sub" character varying
рдЖрдореНрд╣реА рдЕрд╕реЗрд╣реА рд╡рд┐рдЪрд╛рд░ рдХреЗрд▓рд╛ рдХреА рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рд╡рд┐рднрд╛рдЬрди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рдХрд┐рдВрд╡рд╛ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреАрд▓ рдбреЗрдЯрд╛ рдЗрддрд░ рдирд┐рдХрд╖рд╛рдВрдиреБрд╕рд╛рд░ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рд╛рд╡реЗ рдЖрдгрд┐ рдЯреЗрдмрд▓рдЪреЗ рдирд╛рд╡ рд╕реНрдерд┐рд░ рдХрд┐рдВрд╡рд╛ рд╕реНрдерд┐рд░рддреЗрд╕рд╣ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реА.
tableName: '{{.product_type}}_{{._timestamp.Format "2006_01"}}'
рддрдерд╛рдкрд┐, рдЗрдирдХрдорд┐рдВрдЧ рдЗрд╡реНрд╣реЗрдВрдЯрдЪреА рд░рдЪрдирд╛ рд░рдирдЯрд╛рдЗрдордордзреНрдпреЗ рдмрджрд▓реВ рд╢рдХрддреЗ. рд╡рд┐рджреНрдпрдорд╛рди рд╕рд╛рд░рдгреАрдЪреА рд░рдЪрдирд╛ рдЖрдгрд┐ рдпреЗрдгрд╛рд░реНтАНрдпрд╛ рдШрдЯрдиреЗрдЪреА рд░рдЪрдирд╛ рдпрд╛рддреАрд▓ рдлрд░рдХ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд▓рд╛рдЧреВ рдХреЗрд▓рд╛ рдЖрд╣реЗ. рдлрд░рдХ рдЖрдврд│рд▓реНрдпрд╛рд╕, рд╕рд╛рд░рдгреА рдирд╡реАрди рдлреАрд▓реНрдбрд╕рд╣ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓реА рдЬрд╛рдИрд▓. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдкреЕрдЪ SQL рдХреНрд╡реЗрд░реА рд╡рд╛рдкрд░рд╛:
#╨Я╤А╨╕╨╝╨╡╤А ╨┤╨╗╤П Postgres
ALTER TABLE "schema"."table" ADD COLUMN new_column character varying
рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░
рддреБрдореНрд╣рд╛рд▓рд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯреАрдорд╡рд░ рдЗрд╡реНрд╣реЗрдВрдЯреНрд╕ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдХрд╛ рдЖрд╣реЗ, рдЖрдгрд┐ рдлрдХреНрдд рдбреЗрдЯрд╛рдмреЗрд╕рд╡рд░ рдереЗрдЯ рд▓рд┐рд╣реВ рдирдпреЗ? рдореЛрдареНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреЗ рдЗрдиреНрд╕рд░реНрдЯреНрд╕ рд╣рд╛рддрд╛рд│рддрд╛рдирд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдиреЗрд╣рдореАрдЪ рдЪрд╛рдВрдЧрд▓реА рдХрд╛рдордЧрд┐рд░реА рдХрд░рдд рдирд╛рд╣реАрдд (
рдореБрдХреНрдд рд╕реНрд░реЛрдд рдЖрдгрд┐ рднрд╡рд┐рд╖реНрдпрд╛рд╕рд╛рдареА рдпреЛрдЬрдирд╛
рдХрд╛рд╣реА рдХреНрд╖рдгреА, рд╕реЗрд╡рд╛ рдкреВрд░реНрдг рдЙрддреНрдкрд╛рджрдирд╛рд╕рд╛рд░рдЦреА рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реА рдЖрдгрд┐ рдЖрдореНрд╣реА рддреА рдореБрдХреНрдд рд╕реНрддреНрд░реЛрддрд╛рд╡рд░ рд╕реЛрдбрдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛. рд╕рдзреНрдпрд╛, Postgres, ClickHouse, BigQuery, Redshift, S3, Snowflake рд╕рд╣ рдПрдХрддреНрд░реАрдХрд░рдг рд▓рд╛рдЧреВ рдХреЗрд▓реЗ рдЖрд╣реЗ. рд╕рд░реНрд╡ рдПрдХрддреНрд░реАрдХрд░рдг рдбреЗрдЯрд╛ рд▓реЛрдбрд┐рдВрдЧрдЪреНрдпрд╛ рдмреЕрдЪ рдЖрдгрд┐ рд╕реНрдЯреНрд░реАрдорд┐рдВрдЧ рдореЛрдбреНрд╕рдирд╛ рд╕рдорд░реНрдерди рджреЗрддрд╛рдд. API рджреНрд╡рд╛рд░реЗ рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
рд╕рдзреНрдпрд╛рдЪреА рдПрдХрддреНрд░реАрдХрд░рдг рдпреЛрдЬрдирд╛ рдЕрд╕реЗ рджрд┐рд╕рддреЗ:
рдЬрд░реА рд╕реЗрд╡рд╛ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рдбреЙрдХрд░ рд╡рд╛рдкрд░рдгреЗ), рдЖрдордЪреНрдпрд╛рдХрдбреЗ рджреЗрдЦреАрд▓ рдЖрд╣реЗ
тЖТ
тЖТ
тЖТ
EventNative рддреБрдордЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдирдВрдж рд╣реЛрдИрд▓!
рдХреЗрд╡рд│ рдиреЛрдВрджрдгреАрдХреГрдд рд╡рд╛рдкрд░рдХрд░реНрддреЗрдЪ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрд╛рдд рднрд╛рдЧ рдШреЗрдК рд╢рдХрддрд╛рдд.
рддреБрдордЪреНрдпрд╛ рдХрдВрдкрдиреАрдордзреНрдпреЗ рдХреЛрдгрддреА рдЖрдХрдбреЗрд╡рд╛рд░реА рд╕рдВрдХрд▓рди рдкреНрд░рдгрд╛рд▓реА рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ?
-
48,0%рдЧреВрдЧрд▓ Xрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕рдПрдХреНрд╕рдпреВрдПрдирдПрдордПрдХреНрд╕
-
4,0%рд╡рд┐рднрд╛рдЧ рез
-
16,0%рджреБрд╕рд░рд╛ (рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрдордзреНрдпреЗ рд▓рд┐рд╣рд╛) 4
-
32,0%рддреБрдордЪреА рд╕реЗрд╡рд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реА
25 рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдорддрджрд╛рди рдХреЗрд▓реЗ. 6 рд╡рд╛рдкрд░рдХрд░реНрддреЗ рджреВрд░ рд░рд╛рд╣рд┐рд▓реЗ.
рд╕реНрддреНрд░реЛрдд: www.habr.com