рд╣рд╛рд▓, рд╕рдВрд╕рд╛рд░рдорд╛ рд▓рдЧрднрдЧ рд╣рд░реЗрдХ рдХрдореНрдкрдиреАрд▓реЗ рд╡реЗрдм рд╕реНрд░реЛрддрдорд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рддрдереНрдпрд╛рдЩреНрдХ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрджрдЫред рдкреНрд░реЗрд░рдгрд╛ рд╕реНрдкрд╖реНрдЯ рдЫ - рдХрдореНрдкрдиреАрд╣рд░реВ рдЬрд╛рдиреНрди рдЪрд╛рд╣рдиреНрдЫрдиреН рдХрд┐ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЙрддреНрдкрд╛рджрди/рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рднрдЗрд░рд╣реЗрдХреЛ рдЫ рд░ рдЙрдиреАрд╣рд░реВрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдЕрдЭ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдмреБрдЭреНрди рдЪрд╛рд╣рдиреНрдЫрдиреНред рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдмрдЬрд╛рд░рдорд╛ рдзреЗрд░реИ рдЙрдкрдХрд░рдгрд╣рд░реВ рдЫрдиреН - рдбреНрдпрд╛рд╕рдмреЛрд░реНрдб рд░ рдЧреНрд░рд╛рдлрдХреЛ рд░реВрдкрдорд╛ рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдмрд╛рдЯ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐,
рддрд░ рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯрд╛ рд╕рдорд╕реНрдпрд╛ рднреЗрдЯреНрдЯрд╛рдпреМрдВ рдЬреБрди рдЕрд╣рд┐рд▓реЗрд╕рдореНрдо рд╕рдорд╛рдзрд╛рди рд╣реБрди рд╕рдХреЗрдХреЛ рдЫреИрдиред рддреНрдпрд╕реИрд▓реЗ рдЬрдиреНрдорд┐рдпреЛ
рд╣рд╛рдореАрд▓реЗ рдХрд┐рди рдЖрдлреНрдиреИ рд╕реЗрд╡рд╛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиреБрдкрд░реНрдЫ?
рдпреЛ рдирдмреНрдмреЗрдХреЛ рджрд╢рдХ рдерд┐рдпреЛ, рд╣рд╛рдореА рд╕рдХреЗрд╕рдореНрдо рдмрд╛рдБрдЪреНрдпреМрдВред 2019, рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЛ рдЧреНрд░рд╛рд╣рдХ рдбреЗрдЯрд╛ рдкреНрд▓реЗрдЯрдлрд░реНрдо API рдХреЛ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдпреМрдВ kSense, рдЬрд╕рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддрд╣рд░реВ (рдлреЗрд╕рдмреБрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрдирд╣рд░реВ, рд╕реНрдЯреНрд░рд╛рдЗрдк, рд╕реЗрд▓реНрд╕рдлреЛрд░реНрд╕, рдЧреБрдЧрд▓ рдкреНрд▓реЗ, рдЧреБрдЧрд▓ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕, рдЗрддреНрдпрд╛рджрд┐) рдмрд╛рдЯ рдердк рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг, рдирд┐рд░реНрднрд░рддрд╛рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдиреЗ рдЗрддреНрдпрд╛рджрд┐рдХрд╛ рд▓рд╛рдЧрд┐ рдбреЗрдЯрд╛ рдЬрдореНрдорд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдпреЛред рд╣рд╛рдореАрд▓реЗ рджреЗрдЦреЗрдХрд╛ рдЫреМрдВ рдХрд┐ рдзреЗрд░реИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рд╣рд╛рдореНрд░реЛ рдбреЗрдЯрд╛ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдкреНрд▓реЗрдЯрдлрд░реНрдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫрдиреН, рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдЧреБрдЧрд▓ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ (рдпрд╕рдкрдЫрд┐ GA рднрдирд┐рдиреНрдЫ)ред рд╣рд╛рдореАрд▓реЗ рдХреЗрд╣реА рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд╕рдБрдЧ рдХреБрд░рд╛ рдЧрд░реНрдпреМрдВ рд░ рдкрддреНрддрд╛ рд▓рдЧрд╛рдпреМрдВ рдХрд┐ рдЙрдиреАрд╣рд░реВрд▓рд╛рдИ рдЙрдиреАрд╣рд░реВрдХреЛ рдЙрддреНрдкрд╛рджрди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдбреЗрдЯрд╛ рдЪрд╛рд╣рд┐рдиреНрдЫ, рдЬреБрди рдЙрдиреАрд╣рд░реВрд▓реЗ GA рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдЫрдиреН, рддрд░
рддрд┐рдиреАрд╣рд░реВрд▓реЗ рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╡реЗрдм рд╕рдВрд╕рд╛рдзрдирдорд╛ рдЦрдгреНрдб рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд┐рдХреНрд╕реЗрд▓ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реЗ рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдбреЗрдЯрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдбрд╛рдЯрд╛рдмреЗрд╕ (рдЬрд╕реНрддреИ Postgres) рдорд╛ рд▓реЛрдб рдЧрд░рд┐рдпреЛред рддрд░ рдЦрдгреНрдбрдХреЛ рдкрдирд┐ рдпрд╕рдХреЛ рдорд╛рдЗрдирд╕ рдЫ - рдореВрд▓реНрдпред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрджрд┐ рд╡реЗрдм рд╕реНрд░реЛрддрдорд╛ 90,000 MTU (рдорд╛рд╕рд┐рдХ рдЯреНрд░реНрдпрд╛рдХ рдЧрд░рд┐рдПрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ) рдЫ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рдХреНрдпрд╛рд╕рд┐рдпрд░рд▓рд╛рдИ рдкреНрд░рддрд┐ рдорд╣рд┐рдирд╛ ~ $ 1,000 рддрд┐рд░реНрдиреБ рдкрд░реНрдЫред рддреНрдпрд╣рд╛рдБ рддреЗрд╕реНрд░реЛ рд╕рдорд╕реНрдпрд╛ рдкрдирд┐ рдерд┐рдпреЛ - рдХреЗрд╣рд┐ рдмреНрд░рд╛рдЙрдЬрд░ рд╡рд┐рд╕реНрддрд╛рд░рд╣рд░реВ (рдЬрд╕реНрддреИ AdBlock) рд▓реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╣рд░реВрдХреЛ рд╕рдЩреНрдХрд▓рди рдЕрд╡рд░реБрджреНрдз рдЧрд░реНрдпреЛред рдмреНрд░рд╛рдЙрдЬрд░рдмрд╛рдЯ http рдЕрдиреБрд░реЛрдзрд╣рд░реВ GA рд░ рдЦрдгреНрдб рдбреЛрдореЗрдирд╣рд░реВрдорд╛ рдкрдард╛рдЗрдпреЛред рд╣рд╛рдореНрд░рд╛ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрдХреЛ рдЗрдЪреНрдЫрд╛рдХреЛ рдЖрдзрд╛рд░рдорд╛, рд╣рд╛рдореАрд▓реЗ рдПрдХ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рд╕реЗрд╡рд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реЗрдХрд╛ рдЫреМрдВ рдЬрд╕рд▓реЗ рдбреЗрдЯрд╛рдХреЛ рдкреВрд░реНрдг рд╕реЗрдЯ (рдирдореВрдирд╛ рдмрд┐рдирд╛) рд╕рдЩреНрдХрд▓рди рдЧрд░реНрджрдЫ, рдирд┐:рд╢реБрд▓реНрдХ рд░ рд╣рд╛рдореНрд░реЛ рдЖрдлреНрдиреИ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдорд╛ рдХрд╛рдо рдЧрд░реНрди рд╕рдХреНрдЫред
рд╕реЗрд╡рд╛ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫ
рд╕реЗрд╡рд╛рд▓реЗ рддреАрди рднрд╛рдЧрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ: рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд┐рдХреНрд╕реЗрд▓ (рдЬрд╕рд▓рд╛рдИ рд╣рд╛рдореАрд▓реЗ рдкрдЫрд┐ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рдкреБрди: рд▓реЗрдЦреНрдпреМрдВ), GO рднрд╛рд╖рд╛рдорд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рд╕рд░реНрднрд░ рднрд╛рдЧ, рд░ рдпрд╕рд▓рд╛рдИ рдЗрди-рд╣рд╛рдЙрд╕ рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рд░реВрдкрдорд╛ Redshift рд░ BigQuery рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдпреЛрдЬрдирд╛ рдерд┐рдпреЛ (рдкрдЫрд┐ рддрд┐рдиреАрд╣рд░реВрд▓реЗ Postgres рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкреЗред рдХреНрд▓рд┐рдХрд╣рд╛рдЙрд╕ рд░ рд╕реНрдиреЛрдлреНрд▓реЗрдХ)ред
рдШрдЯрдирд╛рд╣рд░реВ GA рд░ рдЦрдгреНрдбрдХреЛ рд╕рдВрд░рдЪрдирд╛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбреНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░рд┐рдпреЛред рд╣рд╛рдореНрд░реЛ рдмреНрдпрд╛рдХрдЗрдиреНрдбрдорд╛ рдкрд┐рдХреНрд╕реЗрд▓ рд╕реНрдерд╛рдкрдирд╛ рднрдПрдХреЛ рд╡реЗрдм рд╕реНрд░реЛрддрдмрд╛рдЯ рд╕рдмреИ рдШрдЯрдирд╛рд╣рд░реВ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛред рдпреЛ рдмрд╛рд╣рд┐рд░ рдЬрд╛рдиреНрдЫ, рдпреЛ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдЫред рдЬрд╛рднрд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд┐рдХреНрд╕реЗрд▓рд▓реЗ рд╣рд╛рдореНрд░реЛ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдШрдЯрдирд╛рдХреЛ рдирдХреНрдХрд▓ рдЧрд░реНрдиреЗ рдирдпрд╛рдБрд╕рдБрдЧ рдореВрд▓ 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 struct рд▓рд╛рдИ flat struct рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН
- рдорд╛рдирд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдлрд┐рд▓реНрдбрд╣рд░реВрдХреЛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджреИ
- рдореНрдпрд╛рдкрд┐рдЩ рд░ рдЯрд╛рдЗрдк рдХрд╛рд╕реНрдЯрд┐рдЩ рдирд┐рдпрдорд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрджреИ
рддреНрдпрд╕рдкрдЫрд┐ рдЖрдЧрдорди 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%рдЧреБрдЧрд▓ рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ 12
-
4,0%рдЦрдгреНрдб рез
-
16,0%рдЕрдиреНрдп (рдХрдореЗрдиреНрдЯрдорд╛ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН) рек
-
32,0%рддрдкрд╛рдИрдВрдХреЛ рд╕реЗрд╡рд╛8 рд▓рд╛рдЧреВ рдЧрд░рд┐рдпреЛ
25 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорддрджрд╛рди рдЧрд░реЗред 6 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░реЛрдХрд┐рдПред
рд╕реНрд░реЛрдд: www.habr.com