рдореЛрдареНрдпрд╛ рдбреЗрдЯрд╛рдордзреНрдпреЗ рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк: рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╢реИрдХреНрд╖рдгрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо

рдореЛрдареНрдпрд╛ рдбреЗрдЯрд╛рдордзреНрдпреЗ рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк: рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╢реИрдХреНрд╖рдгрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо
Remarin рджреНрд╡рд╛рд░реЗ рд╣рд╡рд╛рдорд╛рди рджреЗрд╡рддрд╛

рд╕рдВрдШ Mail.ru рдХреНрд▓рд╛рдЙрдб рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕ рдСрдлрд░ рд▓реЗрдЦрд╛рдЪреЗ рднрд╛рд╖рд╛рдВрддрд░ рдмрд┐рдЧ рдбреЗрдЯрд╛рдордзреНрдпреЗ рдХреЛрдгрддреЗ рдлрд╛рдЗрд▓ рдлреЙрд░рдореЕрдЯреНрд╕ рдЖрд╣реЗрдд, рд╣рдбреВрдк рдлреЙрд░рдореЕрдЯреНрд╕рдЪреА рд╕рд░реНрд╡рд╛рдд рд╕рд╛рдорд╛рдиреНрдп рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ рдХреЛрдгрддреА рдЖрд╣реЗрдд рдЖрдгрд┐ рдХреЛрдгрддреЗ рдлреЙрд░рдореЕрдЯ рд╡рд╛рдкрд░рдгреЗ рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ рдпрд╛рдмрджреНрджрд▓ Clairvoyant рдордзреАрд▓ рдЕрднрд┐рдпрдВрддрд╛ рд░рд╛рд╣реБрд▓ рднрд╛рдЯрд┐рдпрд╛.

рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдлрд╛рдИрд▓ рдлреЙрд░рдореЕрдЯреНрд╕рдЪреА рдЧрд░рдЬ рдХрд╛ рдЖрд╣реЗ?

MapReduce рдЖрдгрд┐ Spark рд╕рд╛рд░рдЦреНрдпрд╛ HDFS-рд╕рдХреНрд╖рдо рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рд╕рд╛рдареА рдПрдХ рдкреНрд░рдореБрдЦ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рдЕрдбрдерд│реЗ рдореНрд╣рдгрдЬреЗ рдбреЗрдЯрд╛ рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА, рд╡рд╛рдЪрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд▓рд╛рдЧрдгрд╛рд░рд╛ рд╡реЗрд│. рдЬрд░ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдРрд╡рдЬреА рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдгрд╛рд░реА рд╕реНрдХреАрдорд╛ рдЕрд╕реЗрд▓ рдХрд┐рдВрд╡рд╛ рдХрд╛рд╣реА рд╕реНрдЯреЛрд░реЗрдЬ рдорд░реНрдпрд╛рджрд╛ рдЕрд╕рддреАрд▓ рддрд░ рдореЛрдареНрдпрд╛ рдбреЗрдЯрд╛ рд╕рдВрдЪ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдд рдЕрдбрдЪрдгреАрдореБрд│реЗ рдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╡рд╛рдврддрд╛рдд.

рдореЛрдареНрдпрд╛ рдбреЗрдЯрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реНрдпрд╛рдиреЗ рд╕реНрдЯреЛрд░реЗрдЬ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрд╡рд░реАрд▓ рднрд╛рд░ рд╡рд╛рдврддреЛ - рджреЛрд╖ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Hadoop рдЕрдирд╛рд╡рд╢реНрдпрдХрдкрдгреЗ рдбреЗрдЯрд╛ рд╕рдВрдЪрдпрд┐рдд рдХрд░рддреЗ. рдбрд┐рд╕реНрдХреНрд╕ рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдкреНрд░реЛрд╕реЗрд╕рд░, рдиреЗрдЯрд╡рд░реНрдХ, рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ рд╕рд┐рд╕реНрдЯрдо рдЖрдгрд┐ рдЕрд╕реЗрдЪ рд▓реЛрдб рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд. рдбреЗрдЯрд╛рдЪреЗ рдкреНрд░рдорд╛рдг рдЬрд╕рдЬрд╕реЗ рд╡рд╛рдврдд рдЬрд╛рддреЗ, рддрд╕рддрд╕рд╛ рддреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдгрд┐ рд╕рд╛рдард╡рдгреНрдпрд╛рдЪрд╛ рдЦрд░реНрдЪрд╣реА рд╡рд╛рдврддреЛ.

рдордзреНрдпреЗ рд╡рд┐рд╡рд┐рдз рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк рд╣рдбреЛрдк рдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдЕрдЪреВрдХ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╢реЛрдз рд▓рд╛рд╡рд▓рд╛. рдпреЛрдЧреНрдп рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк рдирд┐рд╡рдбрд▓реНрдпрд╛рдиреЗ рдХрд╛рд╣реА рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдлрд╛рдпрджреЗ рдорд┐рд│реВ рд╢рдХрддрд╛рдд:

  1. рдЬрд▓рдж рд╡рд╛рдЪрди рд╡реЗрд│.
  2. рдЬрд▓рдж рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рд╡реЗрд│.
  3. рд╢реЗрдЕрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдлрд╛рдпрд▓реА.
  4. рд╕реНрдХреАрдорд╛ рдЙрддреНрдХреНрд░рд╛рдВрддреАрд╕рд╛рдареА рд╕рдорд░реНрдерди.
  5. рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХреЙрдореНрдкреНрд░реЗрд╢рди рд╕рдорд░реНрдерди.

рдХрд╛рд╣реА рдлрд╛рдИрд▓ рдлреЙрд░рдореЕрдЯ рд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдЕрд╕рддрд╛рдд, рддрд░ рдХрд╛рд╣реА рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдЕрд╕рддрд╛рдд рдЖрдгрд┐ рдХрд╛рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪреА рдкреВрд░реНрддрддрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЕрд╕рддрд╛рдд. рддреНрдпрд╛рдореБрд│реЗ рдирд┐рд╡рдб рдЦрд░реЛрдЦрд░ рдЦреВрдк рдореЛрдареА рдЖрд╣реЗ.

Avro рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк

рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбреЗрдЯрд╛ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ Avro рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рд╡рд░ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ - рддреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЖрдзрд╛рд░рд┐рдд, рдореНрд╣рдгрдЬреЗ, Hadoop рдордзреАрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдлреЙрд░рдореЕрдЯ. рд╣реЗ JSON рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд╕реНрдХреАрдорд╛ рд╕рдВрдЪрдпрд┐рдд рдХрд░рддреЗ, рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдорджреНрд╡рд╛рд░реЗ рд╡рд╛рдЪрдгреЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪрд╛ рдЕрд░реНрде рд▓рд╛рд╡рдгреЗ рд╕реЛрдкреЗ рдХрд░рддреЗ. рдбреЗрдЯрд╛ рд╕реНрд╡рддрдГ рдмрд╛рдпрдирд░реА рд╕реНрд╡рд░реВрдкрд╛рдд, рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЖрдгрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрд╣реЗ.

Avro рдЪреА рдЕрдиреБрдХреНрд░рдорд╛рдВрдХ рдкреНрд░рдгрд╛рд▓реА рднрд╛рд╖рд╛ рддрдЯрд╕реНрде рдЖрд╣реЗ. рдлрд╛рдЗрд▓реНрд╕рд╡рд░ рд╡рд┐рд╡рд┐рдз рднрд╛рд╖рд╛рдВрдордзреНрдпреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ, рд╕рдзреНрдпрд╛ C, C++, C#, Java, Python рдЖрдгрд┐ Ruby.

рд╡реЗрд│реЛрд╡реЗрд│реА рдмрджрд▓рдгрд╛рд▒реНрдпрд╛, рдореНрд╣рдгрдЬреЗрдЪ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдгрд╛рд▒реНрдпрд╛ рдбреЗрдЯрд╛ рд╕реНрдХреАрдорд╛рд╕рд╛рдареА рддреНрдпрд╛рдЪрд╛ рдордЬрдмреВрдд рд╕рдкреЛрд░реНрдЯ рд╣реЗ Avro рдЪреЗ рдореБрдЦреНрдп рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЖрд╣реЗ. Avro рд╕реНрдХреАрдорд╛ рдмрджрд▓ рд╕рдордЬреВрди рдШреЗрддреЗ тАФ рд╣рдЯрд╡рдгреЗ, рдЬреЛрдбрдгреЗ рдХрд┐рдВрд╡рд╛ рдлреАрд▓реНрдб рдмрджрд▓рдгреЗ.

Avro рд╡рд┐рд╡рд┐рдз рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕рд▓рд╛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдореНрд╣реА рдПрдХ рд░реЗрдХреЙрд░реНрдб рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛ рдЬреНрдпрд╛рдордзреНрдпреЗ рдЕреЕрд░реЗ, рдПрдХ рдкреНрд░рдЧрдгрд┐рдд рдкреНрд░рдХрд╛рд░ рдЖрдгрд┐ рд╕рдмрд░реЗрдХреЙрд░реНрдб рдЖрд╣реЗ.

рдореЛрдареНрдпрд╛ рдбреЗрдЯрд╛рдордзреНрдпреЗ рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк: рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╢реИрдХреНрд╖рдгрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо
рдбреЗрдЯрд╛ рд▓реЗрдХрдЪреНрдпрд╛ рд▓рдБрдбрд┐рдВрдЧ (рд╕рдВрдХреНрд░рдордг) рдЭреЛрдирдордзреНрдпреЗ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рд╕реНрд╡рд░реВрдк рдЖрджрд░реНрд╢ рдЖрд╣реЗ (рдбреЗрдЯрд╛ рддрд▓рд╛рд╡, рдХрд┐рдВрд╡рд╛ рдбреЗрдЯрд╛ рд▓реЗрдХ - рдереЗрдЯ рдбреЗрдЯрд╛ рд╕реНрддреНрд░реЛрддрд╛рдВрд╡реНрдпрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╡рд┐рдз рдкреНрд░рдХрд╛рд░рдЪреЗ рдбреЗрдЯрд╛ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрджрд╛рд╣рд░рдгрд╛рдВрдЪрд╛ рд╕рдВрдЧреНрд░рд╣).

рддрд░, рдЦрд╛рд▓реАрд▓ рдХрд╛рд░рдгрд╛рдВрд╕рд╛рдареА рдбреЗрдЯрд╛ рд▓реЗрдХрдЪреНрдпрд╛ рд▓рдБрдбрд┐рдВрдЧ рдЭреЛрдирдордзреНрдпреЗ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рд╕реНрд╡рд░реВрдк рд╕рд░реНрд╡рд╛рдд рдпреЛрдЧреНрдп рдЖрд╣реЗ:

  1. рдпрд╛ рдЭреЛрдирдордзреАрд▓ рдбреЗрдЯрд╛ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рд╕рд┐рд╕реНрдЯрдорджреНрд╡рд╛рд░реЗ рдкреБрдвреАрд▓ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рд╕рдВрдкреВрд░реНрдгрдкрдгреЗ рд╡рд╛рдЪрд▓рд╛ рдЬрд╛рддреЛ - рдЖрдгрд┐ рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рдкрдВрдХреНрддреА-рдЖрдзрд╛рд░рд┐рдд рд╕реНрд╡рд░реВрдк рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрд╣реЗ.
  2. рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рд╕рд┐рд╕реНрдЯреАрдо рдлрд╛рдЗрд▓реНрд╕рдордзреВрди рд╕реНрдХреАрдорд╛ рдЯреЗрдмрд▓реНрд╕ рд╕рд╣рдЬрдкрдгреЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░реВ рд╢рдХрддрд╛рдд-рдмрд╛рд╣реНрдп рдореЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ рд╕реНрдХреАрдорд╛ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА.
  3. рдореВрд│ рд╕реНрдХреАрдорд╛рдордзреАрд▓ рдХреЛрдгрддрд╛рд╣реА рдмрджрд▓ рд╕рд╣рдЬрдкрдгреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ (рд╕реНрдХреАрдорд╛ рдЙрддреНрдХреНрд░рд╛рдВрддреА).

Parquet рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк

Parquet рд╣реЗ Hadoop рд╕рд╛рдареА рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рдлрд╛рдЗрд▓ рдлреЙрд░рдореЕрдЯ рдЖрд╣реЗ рдЬреЗ рд╕реНрдЯреЛрдЕрд░ рдХрд░рддреЗ рдиреЗрд╕реНрдЯреЗрдб рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕ рдлреНрд▓реЕрдЯ рдХреЙрд▓рдо рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ.

рдкрд╛рд░рдВрдкрд╛рд░рд┐рдХ рдкрдВрдХреНрддреАрдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд, рдкрд░реНрдХреЗрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрд╣реЗ.

рд╣реЗ рд╡рд┐рд╢реЗрд╖рддрдГ рд╡рд┐рд╕реНрддреГрдд (рдЕрдиреЗрдХ рд╕реНрддрдВрдн) рд╕рд╛рд░рдгреАрдордзреАрд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрддрдВрдн рд╡рд╛рдЪрдгрд╛рд▒реНрдпрд╛ рдХреНрд╡реЗрд░реАрдВрд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдЖрд╣реЗ. рдлрд╛рдЗрд▓ рдлреЙрд░рдореЕрдЯрдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж, рдлрдХреНрдд рдЖрд╡рд╢реНрдпрдХ рд╕реНрддрдВрдн рд╡рд╛рдЪрд▓реЗ рдЬрд╛рддрд╛рдд, рддреНрдпрд╛рдореБрд│реЗ I/O рдХрдореАрдд рдХрдореА рдареЗрд╡рд▓рд╛ рдЬрд╛рддреЛ.

рдПрдХ рд▓рд╣рд╛рди рд╡рд┐рд╖рдпрд╛рдВрддрд░ рдЖрдгрд┐ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг: Hadoop рдордзреАрд▓ Parquet рдлрд╛рдЗрд▓ рдлреЙрд░рдореЕрдЯ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рд╕реНрддрдВрдн-рдЖрдзрд╛рд░рд┐рдд - рдореНрд╣рдгрдЬреЗ рд╕реНрддрдВрдн - рд╕реНрд╡рд░реВрдк рдХрд╛рдп рдЖрд╣реЗ рддреЗ рдкрд╛рд╣реВ. рд╣реЗ рд╕реНрд╡рд░реВрдк рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдВрднрд╛рд╕рд╛рдареА рд╕рдорд╛рди рдореВрд▓реНрдпреЗ рдПрдХрддреНрд░рд┐рддрдкрдгреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд░реЗрдХреЙрд░реНрдбрдордзреНрдпреЗ рдЖрдпрдбреА, рдирд╛рд╡ рдЖрдгрд┐ рд╡рд┐рднрд╛рдЧ рдлреАрд▓реНрдб рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рд╕рд░реНрд╡ рдЖрдпрдбреА рд╕реНрддрдВрдн рдореВрд▓реНрдпреЗ рдПрдХрддреНрд░ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреАрд▓, рдЬрд╕реЗ рдХреА рдирд╛рд╡ рд╕реНрддрдВрдн рдореВрд▓реНрдпреЗ рдЗрддреНрдпрд╛рджреА. рдЯреЗрдмрд▓ рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рджрд┐рд╕реЗрд▓:

ID
рдирд╛рд╡
рд╡рд┐рднрд╛рдЧ

1
emp1
d1

2
emp2
d2

3
emp3
d3

рд╕реНрдЯреНрд░рд┐рдВрдЧ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ, рдбреЗрдЯрд╛ рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рд╕реЗрд╡реНрд╣ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓:

1
emp1
d1
2
emp2
d2
3
emp3
d3

рд╕реНрддрдВрднреАрдп рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдкрдирд╛рдд, рд╕рдорд╛рди рдбреЗрдЯрд╛ рдпрд╛рдкреНрд░рдорд╛рдгреЗ рдЬрддрди рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓:

1
2
3
emp1
emp2
emp3
d1
d2
d3

рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдЯреЗрдмрд▓рдордзреВрди рдЕрдиреЗрдХ рд╕реНрддрдВрднрд╛рдВрдЪреА рдХреНрд╡реЗрд░реА рдХрд░рд╛рдпрдЪреА рдЕрд╕рддреЗ рддреЗрд╡реНрд╣рд╛ рд╕реНрддрдВрдн рд╕реНрд╡рд░реВрдк рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЕрд╕рддреЗ. рд╣реЗ рдлрдХреНрдд рдЖрд╡рд╢реНрдпрдХ рд╕реНрддрдВрдн рд╡рд╛рдЪреЗрд▓ рдХрд╛рд░рдг рддреЗ рд╕рдореАрдк рдЖрд╣реЗрдд. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, I/O рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрдореАрдд рдХрдореА рдареЗрд╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд NAME рд╕реНрддрдВрднрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. IN рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрд╡рд░реВрдк рдбреЗрдЯрд╛рд╕реЗрдЯрдордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдХреЙрд░реНрдб рд▓реЛрдб рдХрд░рдгреЗ, рдлреАрд▓реНрдбрджреНрд╡рд╛рд░реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдирдВрддрд░ NAME рдбреЗрдЯрд╛ рдХрд╛рдврдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдХреЙрд▓рдо рдлреЙрд░рдореЕрдЯ рддреБрдореНрд╣рд╛рд▓рд╛ рдереЗрдЯ рдиреЗрдо рдХреЙрд▓рдорд╡рд░ рдбреНрд░рд┐рд▓ рдбрд╛рдЙрди рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ рдХрд╛рд░рдг рддреНрдпрд╛ рдХреЙрд▓рдордЪреА рд╕рд░реНрд╡ рд╡реНрд╣реЕрд▓реНрдпреВ рдПрдХрддреНрд░ рд╕рд╛рдард╡рд▓реЗрд▓реА рдЕрд╕рддрд╛рдд. рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рдВрдкреВрд░реНрдг рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ рд╕реНрдХреЕрди рдХрд░рдгреНрдпрд╛рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА.

рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рд╕реНрддрдВрднреАрдп рд╕реНрд╡рд░реВрдк рдХреНрд╡реЗрд░реА рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рддреЗ рдХрд╛рд░рдг рдЖрд╡рд╢реНрдпрдХ рд╕реНрддрдВрднрд╛рдВрдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрдгреНрдпрд╛рд╕рд╛рдареА рдХрдореА рд▓реБрдХрдЕрдк рд╡реЗрд│ рд▓рд╛рдЧрддреЛ рдЖрдгрд┐ I/O рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛ рдХрдореА рдХрд░рддреЗ рдХрд╛рд░рдг рдлрдХреНрдд рдЗрдЪреНрдЫрд┐рдд рд╕реНрддрдВрдн рд╡рд╛рдЪрд▓реЗ рдЬрд╛рддрд╛рдд.

рдЕрджреНрд╡рд┐рддреАрдп рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдкреИрдХреА рдПрдХ рдЫрдкреНрдкрд░ рдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рддреЗ рд╢рдХреНрдп рдЖрд╣реЗ рдиреЗрд╕реНрдЯреЗрдб рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕рд╕рд╣ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рд╛. рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА Parquet рдлрд╛рдЗрд▓рдордзреНрдпреЗ, рдиреЗрд╕реНрдЯреЗрдб рд╕реНрдЯреНрд░рдХреНрдЪрд░рдордзреАрд▓ рд╕рд░реНрд╡ рдлреАрд▓реНрдб рди рд╡рд╛рдЪрддрд╛ рдиреЗрд╕реНрдЯреЗрдб рдлреАрд▓реНрдб рджреЗрдЦреАрд▓ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рд╡рд╛рдЪрддрд╛ рдпреЗрддрд╛рдд. рдиреЗрд╕реНрдЯреЗрдб рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрд╕ рд╕рд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рдкрд░реНрдХреЗрдЯ рд╢реНрд░реЗрдбрд┐рдВрдЧ рдЖрдгрд┐ рдЕрд╕реЗрдВрдмрд▓реА рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рд╡рд╛рдкрд░рддреЗ.

рдореЛрдареНрдпрд╛ рдбреЗрдЯрд╛рдордзреНрдпреЗ рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк: рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╢реИрдХреНрд╖рдгрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо
Hadoop рдордзреАрд▓ Parquet рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдЕрдЯреА рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

  1. рдкрдВрдХреНрддреА рдЧрдЯ (рдкрдВрдХреНрддреА рдЧрдЯ): рдкрдВрдХреНрддреАрдВрдордзреНрдпреЗ рдбреЗрдЯрд╛рдЪреЗ рддрд╛рд░реНрдХрд┐рдХ рдХреНрд╖реИрддрд┐рдЬ рд╡рд┐рднрд╛рдЬрди. рдкрдВрдХреНрддреА рдЧрдЯрд╛рдордзреНрдпреЗ рдбреЗрдЯрд╛ рд╕реЗрдЯрдордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдВрднрд╛рдЪрд╛ рдПрдХ рддреБрдХрдбрд╛ рдЕрд╕рддреЛ.
  2. рд╕реНрддрдВрдн рдЦрдВрдб (рд╕реНрддрдВрдн рднрд╛рдЧ): рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрддрдВрднрд╛рдЪрд╛ рддреБрдХрдбрд╛. рд╣реЗ рд╕реНрддрдВрднрд╛рдЪреЗ рддреБрдХрдбреЗ рдкрдВрдХреНрддреАрдВрдЪреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧрдЯрд╛рдордзреНрдпреЗ рд░рд╛рд╣рддрд╛рдд рдЖрдгрд┐ рдлрд╛рдЗрд▓рдордзреНрдпреЗ рд╕рдВрд▓рдЧреНрди рдЕрд╕рдгреНрдпрд╛рдЪреА рд╣рдореА рджрд┐рд▓реА рдЬрд╛рддреЗ.
  3. рдкреГрд╖реНрда (рдкреГрд╖реНрда): рд╕реНрддрдВрднрд╛рдЪреЗ рддреБрдХрдбреЗ рдПрдХрд╛рдорд╛рдЧреВрди рдПрдХ рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛ рдкреГрд╖реНрдард╛рдВрдордзреНрдпреЗ рд╡рд┐рднрд╛рдЧрд▓реЗрд▓реЗ рдЖрд╣реЗрдд. рдкреГрд╖реНрдард╛рдВрдирд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╢реАрд░реНрд╖рдХ рдЖрд╣реЗ, рддреНрдпрд╛рдореБрд│реЗ рд╡рд╛рдЪрддрд╛рдирд╛ рддреБрдореНрд╣реА рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЧреЛрд╖реНрдЯреА рд╡рдЧрд│реВ рд╢рдХрддрд╛.

рдореЛрдареНрдпрд╛ рдбреЗрдЯрд╛рдордзреНрдпреЗ рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк: рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╢реИрдХреНрд╖рдгрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо
рдпреЗрдереЗ рд╢реАрд░реНрд╖рдХрд╛рдд рдлрдХреНрдд рдЬрд╛рджреВрдЪрд╛ рдХреНрд░рдорд╛рдВрдХ рдЖрд╣реЗ PAR1 (4 рдмрд╛рдЗрдЯреНрд╕) рдЬреЗ рдлрд╛рдЗрд▓рд▓рд╛ Parquet рдлрд╛рдЗрд▓ рдореНрд╣рдгреВрди рдУрд│рдЦрддреЗ.

рддрд│рдЯреАрдк рдЦрд╛рд▓реАрд▓ рдореНрд╣рдгрддреЗ:

  1. рдлрд╛рдЗрд▓ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЬреНрдпрд╛рдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдВрднрд╛рдЪреНрдпрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛рдЪреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЕрд╕рддрд╛рдд. рд╡рд╛рдЪрддрд╛рдирд╛, рд╕реНрд╡рд╛рд░рд╕реНрдп рдЕрд╕рд▓реЗрд▓реЗ рд╕рд░реНрд╡ рд╕реНрддрдВрдн рдЦрдВрдб рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рдкреНрд░рдердо рдлрд╛рдЗрд▓рдЪрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╡рд╛рдЪрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ. рд╕реНрддрдВрднрд╛рдЪреЗ рднрд╛рдЧ рдирдВрддрд░ рдХреНрд░рдорд╛рдиреЗ рд╡рд╛рдЪрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд. рдЗрддрд░ рдореЗрдЯрд╛рдбреЗрдЯрд╛рдордзреНрдпреЗ рдлреЙрд░рдореЕрдЯ рдЖрд╡реГрддреНрддреА, рд╕реНрдХреАрдорд╛ рдЖрдгрд┐ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕрддрд┐рд░рд┐рдХреНрдд рдХреА-рд╡реНрд╣реЕрд▓реНрдпреВ рдЬреЛрдбреНрдпрд╛ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рддрд╛рдд.
  2. рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд▓рд╛рдВрдмреА (4 рдмрд╛рдЗрдЯ).
  3. рдЬрд╛рджреВрдЪреА рд╕рдВрдЦреНрдпрд╛ PAR1 (4 рдмрд╛рдЗрдЯреНрд╕).

ORC рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк

рдСрдкреНрдЯрд┐рдорд╛рдЗрдЭ рдкрдВрдХреНрддреА-рд╕реНрддрдВрдн рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк (рдЕрдиреБрдХреВрд▓рд┐рдд рдкрдВрдХреНрддреА рд╕реНрддрдВрдн, рдУрдЖрд░рд╕реА) рдбреЗрдЯрд╛ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХ рдЕрддрд┐рд╢рдп рдХрд╛рд░реНрдпрдХреНрд╖рдо рдорд╛рд░реНрдЧ рдСрдлрд░ рдХрд░рддреЛ рдЖрдгрд┐ рдЗрддрд░ рд╕реНрд╡рд░реВрдкрд╛рдВрдЪреНрдпрд╛ рдорд░реНрдпрд╛рджрд╛рдВрд╡рд░ рдорд╛рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рд╣реЛрддреЗ. рдореЛрдареНрдпрд╛, рдЧреБрдВрддрд╛рдЧреБрдВрддреАрдЪреНрдпрд╛ рдХрд┐рдВрд╡рд╛ рдореЕрдиреНрдпреБрдЕрд▓реА рджреЗрдЦрд░реЗрдЦ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рддрдпрд╛рд░ рди рдХрд░рддрд╛ - рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рддрдкрд╢реАрд▓ рд╡рдЧрд│рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдКрди рдЙрддреНрддрдо рдкреНрд░рдХрд╛рд░реЗ рдХреЙрдореНрдкреЕрдХреНрдЯ рд╕реНрд╡рд░реВрдкрд╛рдд рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ.

ORC рд╕реНрд╡рд░реВрдкрд╛рдЪреЗ рдлрд╛рдпрджреЗ:

  1. рдПрдХ рдлрд╛рдИрд▓ рдкреНрд░рддреНрдпреЗрдХ рдЯрд╛рд╕реНрдХрдЪреЗ рдЖрдЙрдЯрдкреБрдЯ рдЕрд╕рддреЗ, рдЬреЗ NameNode (рдирд╛рд╡ рдиреЛрдб) рд╡рд░реАрд▓ рднрд╛рд░ рдХрдореА рдХрд░рддреЗ.
  2. Hive рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░рд╛рдВрд╕рд╛рдареА рд╕рдорд░реНрдерди, рддрд╛рд░реАрдЦ рд╡реЗрд│, рджрд╢рд╛рдВрд╢ рдЖрдгрд┐ рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ (рд╕реНрдЯреНрд░рдХреНрдЪрд░, рд╕реВрдЪреА, рдирдХрд╛рд╢рд╛ рдЖрдгрд┐ рдпреБрдирд┐рдпрди).
  3. рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ RecordReader рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрджреНрд╡рд╛рд░реЗ рдПрдХрд╛рдЪ рдлрд╛рдИрд▓рдЪреЗ рдПрдХрд╛рдЪрд╡реЗрд│реА рд╡рд╛рдЪрди.
  4. рдорд╛рд░реНрдХрд░рд╕рд╛рдареА рд╕реНрдХреЕрди рди рдХрд░рддрд╛ рдлрд╛рдпрд▓реА рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛.
  5. рдлрд╛рдИрд▓ рддрд│рдЯреАрдкрдордзреАрд▓ рдорд╛рд╣рд┐рддреАрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд╛рдЪрди/рд▓реЗрдЦрди рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рд╕рдВрднрд╛рд╡реНрдп рд╣реАрдк рдореЗрдорд░реА рд╡рд╛рдЯрдкрд╛рдЪрд╛ рдЕрдВрджрд╛рдЬ.
  6. рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрдлрд░реНрд╕ тАЛтАЛрдмрд╛рдпрдирд░реА рд╕реАрд░рд┐рдпрд▓рд╛рдпрдЭреЗрд╢рди рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдЬреЛ рдлреАрд▓реНрдб рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рдХрд╛рдврдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ.

рдореЛрдареНрдпрд╛ рдбреЗрдЯрд╛рдордзреНрдпреЗ рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдк: рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╢реИрдХреНрд╖рдгрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо
ORC рдПрдХрд╛рдЪ рдлрд╛рдИрд▓рдордзреНрдпреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧрдЪреЗ рд╕рдВрдЧреНрд░рд╣ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ рд╕рдВрдЧреНрд░рд╣рд╛рдордзреНрдпреЗ, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рд╕реНрддрдВрднрд╛рдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

рдУрдЖрд░рд╕реА рдлрд╛рдЗрд▓ рдлрд╛рдИрд▓рдЪреНрдпрд╛ рддрд│рдЯреАрдкрдордзреНрдпреЗ рдкрдЯреНрдЯреЗ рдирд╛рд╡рд╛рдЪреНрдпрд╛ рдУрд│реАрдВрдЪреЗ рдЧрдЯ рдЖрдгрд┐ рд╕рд╣рд╛рдпреНрдпрдХ рдорд╛рд╣рд┐рддреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ. рдлрд╛рдИрд▓рдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА рдкреЛрд╕реНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рдХреЙрдореНрдкреНрд░реЗрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдЖрдгрд┐ рдХреЙрдореНрдкреНрд░реЗрд╕ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдлреВрдЯрд░рдЪрд╛ рдЖрдХрд╛рд░ рдЕрд╕рддреЛ.

рдбреАрдлреЙрд▓реНрдЯ рдкрдЯреНрдЯреА рдЖрдХрд╛рд░ 250 MB рдЖрд╣реЗ. рдЕрд╢рд╛ рдореЛрдареНрдпрд╛ рдкрдЯреНрдЯреНрдпрд╛рдВрдореБрд│реЗ, HDFS рд╡рд░реВрди рд╡рд╛рдЪрди рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ: рдореЛрдареНрдпрд╛ рд╕рдВрд▓рдЧреНрди рдмреНрд▓реЙрдХреНрд╕рдордзреНрдпреЗ.

рдлрд╛рдЗрд▓ рдлреВрдЯрд░ рдлрд╛рдЗрд▓рдордзреАрд▓ рд▓реЗрдирдЪреА рд╕реВрдЪреА, рдкреНрд░рддрд┐ рд▓реЗрдирдЪреНрдпрд╛ рдкрдВрдХреНрддреАрдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдВрднрд╛рдЪрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд░реЗрдХреЙрд░реНрдб рдХрд░рддреЛ. рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдВрднрд╛рд╕рд╛рдареА рдЧрдгрдирд╛, рдХрд┐рдорд╛рди, рдХрдорд╛рд▓ рдЖрдгрд┐ рдмреЗрд░реАрдЬрдЪреЗ рдкрд░рд┐рдгрд╛рдореА рдореВрд▓реНрдп рджреЗрдЦреАрд▓ рддреЗрдереЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗ.

рд╕реНрдЯреНрд░рд┐рдкрдЪреНрдпрд╛ рдлреВрдЯрд░рдордзреНрдпреЗ рдкреНрд░рд╡рд╛рд╣ рд╕реНрдерд╛рдирд╛рдВрдЪреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЕрд╕рддреЗ.

рдЯреЗрдмрд▓ рд╕реНрдХреЕрди рдХрд░рддрд╛рдирд╛ рдкрдВрдХреНрддреА рдбреЗрдЯрд╛ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ.

рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдбреЗрдЯрд╛рдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдВрднрд╛рд╕рд╛рдареА рдХрд┐рдорд╛рди рдЖрдгрд┐ рдХрдорд╛рд▓ рдореВрд▓реНрдпреЗ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдВрднрд╛рддреАрд▓ рдкрдВрдХреНрддреАрдВрдЪреА рд╕реНрдерд┐рддреА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕рддреЗ. ORC рдЗрдВрдбреЗрдХреНрд╕ рдлрдХреНрдд рдкрдЯреНрдЯреЗ рдЖрдгрд┐ рдкрдВрдХреНрддреА рдЧрдЯ рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд, рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЙрддреНрддрд░реЗ рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдирд╛рд╣реА.

рднрд┐рдиреНрди рдлрд╛рдЗрд▓ рд╕реНрд╡рд░реВрдкрд╛рдВрдЪреА рддреБрд▓рдирд╛

Parquet рдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд Avro

  1. Avro рдПрдХ рдкрдВрдХреНрддреА рд╕рдВрдЪрдпрди рд╕реНрд╡рд░реВрдк рдЖрд╣реЗ, рддрд░ Parquet рдХреЙрд▓рдордордзреНрдпреЗ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ.
  2. рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдкреНрд░рд╢реНрдирд╛рдВрд╕рд╛рдареА Parquet рдЕрдзрд┐рдХ рдпреЛрдЧреНрдп рдЖрд╣реЗ, рдореНрд╣рдгрдЬреЗ рд╡рд╛рдЪрди рдСрдкрд░реЗрд╢рдиреНрд╕ рдЖрдгрд┐ рдХреНрд╡реЗрд░реА рдбреЗрдЯрд╛ рд▓реЗрдЦрдирд╛рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрд╣реЗрдд.
  3. Avro рдордзреНрдпреЗ рд▓реЗрдЦрди рдСрдкрд░реЗрд╢рдиреНрд╕ Parquet рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.
  4. Avro рд╕рд░реНрдХрд┐рдЯ рдЙрддреНрдХреНрд░рд╛рдВрддреА рдЕрдзрд┐рдХ рдкрд░рд┐рдкрдХреНрд╡рдкрдгреЗ рд╣рд╛рддрд╛рд│рддреЗ. Parquet рдлрдХреНрдд рд╕реНрдХреАрдорд╛ рдЬреЛрдбрдгреНрдпрд╛рд╕ рд╕рдорд░реНрдерди рджреЗрддреЗ, рддрд░ Avro рдмрд╣реБ-рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЙрддреНрдХреНрд░рд╛рдВрддреА, рдореНрд╣рдгрдЬреЗрдЪ рд╕реНрддрдВрдн рдЬреЛрдбрдгреЗ рдХрд┐рдВрд╡рд╛ рдмрджрд▓рдгреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ.
  5. рдорд▓реНрдЯреА-рдХреЙрд▓рдо рдЯреЗрдмрд▓рдордзреАрд▓ рдХреЙрд▓рдореНрд╕рдЪреНрдпрд╛ рдЙрдкрд╕рдВрдЪ рдХреНрд╡реЗрд░реАрд╕рд╛рдареА Parquet рдЖрджрд░реНрд╢ рдЖрд╣реЗ. Avro ETL рдСрдкрд░реЗрд╢рдиреНрд╕рд╕рд╛рдареА рдпреЛрдЧреНрдп рдЖрд╣реЗ рдЬрд┐рдереЗ рдЖрдореНрд╣реА рд╕рд░реНрд╡ рдХреЙрд▓рдореНрд╕рдЪреА рдЪреМрдХрд╢реА рдХрд░рддреЛ.

ORC рд╡рд┐рд░реБрджреНрдз Parquet

  1. Parquet рдиреЗрд╕реНрдЯреЗрдб рдбреЗрдЯрд╛ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рд╛рдард╡рддреЛ.
  2. рдУрдЖрд░рд╕реА рдкреБрд╢рдбрд╛рдЙрдирдЪрд╛ рдЕрдВрджрд╛рдЬ рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЕрдзрд┐рдХ рдпреЛрдЧреНрдп рдЖрд╣реЗ.
  3. ORC ACID рдЧреБрдгрдзрд░реНрдорд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ.
  4. ORC рдбреЗрдЯрд╛ рдЕрдзрд┐рдХ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕рдВрдХреБрдЪрд┐рдд рдХрд░рддреЗ.

рд╡рд┐рд╖рдпрд╛рд╡рд░ рдЕрдЬреВрди рдХрд╛рдп рд╡рд╛рдЪрд╛рдпрдЪреЗ:

  1. рдХреНрд▓рд╛рдЙрдбрдордзреНрдпреЗ рдореЛрдареЗ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг: рдХрдВрдкрдиреА рдбреЗрдЯрд╛-рдХреЗрдВрджреНрд░рд┐рдд рдХрд╢реА рд╣реЛрдК рд╢рдХрддреЗ.
  2. рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛рд╕рд╛рдареА рдПрдХ рдирдореНрд░ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ.
  3. рдбрд┐рдЬрд┐рдЯрд▓ рдкрд░рд┐рд╡рд░реНрддрдирд╛рдмрджреНрджрд▓ рдЖрдордЪреЗ рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдЪреЕрдиреЗрд▓.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛