рдареВрд▓реЛ рдбреЗрдЯрд╛рдорд╛ рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛рд╣рд░реВ: рдЫреЛрдЯреЛ рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо

рдареВрд▓реЛ рдбреЗрдЯрд╛рдорд╛ рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛рд╣рд░реВ: рдЫреЛрдЯреЛ рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо
Remarin рджреНрд╡рд╛рд░рд╛ рдореМрд╕рдо рджреЗрд╡рддрд╛

рдЯреЛрд▓реА Mail.ru рдХреНрд▓рд╛рдЙрдб рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╕реНрддрд╛рд╡рд╣рд░реБ рд▓реЗрдЦрдХреЛ рдЕрдиреБрд╡рд╛рдж Clairvoyant рдХрд╛ рдЗрдиреНрдЬрд┐рдирд┐рдпрд░ рд░рд╛рд╣реБрд▓ рднрд╛рдЯрд┐рдпрд╛ рдмрд┐рдЧ рдбрд╛рдЯрд╛рдорд╛ рдХрд╕реНрддрд╛ рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛рд╣рд░реВ рдЫрдиреН, Hadoop рдврд╛рдБрдЪрд╛рдХрд╛ рд╕рдмреИрднрдиреНрджрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдХреЗ рд╣реБрдиреН рд░ рдХреБрди рдврд╛рдБрдЪрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд░рд╛рдореНрд░реЛ рдЫред

рдХрд┐рди рдлрд░рдХ рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛ рдЖрд╡рд╢реНрдпрдХ рдЫ?

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

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

рдорд╛ рд╡рд┐рднрд┐рдиреНрди рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛рд╣рд░реВ Hadoop рдпреА рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдареАрдХрд╕рдБрдЧ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдЧрд░рд┐рдпреЛред рдЙрдкрдпреБрдХреНрдд рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛ рдЪрдпрди рдЧрд░реНрдирд╛рд▓реЗ рдХреЗрд╣реА рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдлрд╛рдЗрджрд╛рд╣рд░реВ рдкреНрд░рджрд╛рди рдЧрд░реНрди рд╕рдХреНрдЫ:

  1. рдЫрд┐рдЯреЛ рдкрдвреНрдиреЗ рд╕рдордпред
  2. рдЫрд┐рдЯреЛ рд░реЗрдХрд░реНрдбрд┐рдЩ рд╕рдордпред
  3. рд╕рд╛рдЭрд╛ рдлрд╛рдЗрд▓рд╣рд░реВред
  4. рд╕реНрдХреАрдорд╛ рд╡рд┐рдХрд╛рд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдердиред
  5. рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрдореНрдкреНрд░реЗрд╕рди рд╕рдорд░реНрдердиред

рдХреЗрд╣реА рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛рд╣рд░реВ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐, рдЕрд░реВрд╣рд░реВ рдердк рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рд░ рдХреЗрд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ рдкреВрд░рд╛ рдЧрд░реНрди рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реЛред рддреНрдпрд╕реИрд▓реЗ рдЫрдиреЛрдЯ рд╕рд╛рдБрдЪреНрдЪреИ рдареВрд▓реЛ рдЫред

Avro рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛

рдЧрд░реНрди рдбрд╛рдЯрд╛ рдХреНрд░рдорд┐рдХрд░рдг Avro рд╡реНрдпрд╛рдкрдХ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ - рдпреЛ рд╕реНрдЯреНрд░рд┐рдЩ рдЖрдзрд╛рд░рд┐рдд, рддреНрдпреЛ рд╣реЛ, Hadoop рдорд╛ рд╕реНрдЯреНрд░рд┐рдЩ рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг рдврд╛рдБрдЪрд╛ред рдпрд╕рд▓реЗ рд╕реНрдХрд┐рдорд╛рд▓рд╛рдИ JSON рдврд╛рдБрдЪрд╛рдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдЫ, рдпрд╕рд▓рд╛рдИ рдкрдвреНрди рд░ рдХреБрдиреИ рдкрдирд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорджреНрд╡рд╛рд░рд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдмрдирд╛рдЙрдБрдЫред рдбрд╛рдЯрд╛ рдЖрдлреИрдВ рдмрд╛рдЗрдирд░реА рдврд╛рдБрдЪрд╛рдорд╛ рдЫ, рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рд░ рдХреБрд╢рд▓ред

Avro рдХреЛ рдХреНрд░рдордмрджреНрдз рдкреНрд░рдгрд╛рд▓реА рднрд╛рд╖рд╛ рддрдЯрд╕реНрде рдЫред рдлрд╛рдЗрд▓рд╣рд░реВ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рд╣рд╛рд▓ C, C++, C#, Java, Python рд░ Rubyред

Avro рдХреЛ рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рднрдиреЗрдХреЛ рдбрд╛рдЯрд╛ рд╕реНрдХреАрдорд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдпрд╕рдХреЛ рдмрд▓рд┐рдпреЛ рд╕рдорд░реНрдерди рд╣реЛ рдЬреБрди рд╕рдордпрд╕рдБрдЧреИ рдкрд░рд┐рд╡рд░реНрддрди рд╣реБрдиреНрдЫ, рдЕрд░реНрдерд╛рддреН, рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдиреНрдЫред Avro рд▓реЗ рд╕реНрдХрд┐рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдмреБрдЭреНрджрдЫ тАФ рдореЗрдЯрд╛рдЙрдиреЗ, рдердкреНрдиреЗ, рд╡рд╛ рдХреНрд╖реЗрддреНрд░рд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗред

Avro рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рддрдкрд╛рдИрд▓реЗ рдПрдЙрдЯрд╛ рд░реЗрдХрд░реНрдб рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдЬрд╕рдорд╛ рдПрд░реЗ, рдПрдХ рдЧрдгрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдкреНрд░рдХрд╛рд░, рд░ рд╕рдмрд░реЗрдХрд░реНрдб рд╣реБрдиреНрдЫред

рдареВрд▓реЛ рдбреЗрдЯрд╛рдорд╛ рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛рд╣рд░реВ: рдЫреЛрдЯреЛ рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо
рдпреЛ рдврд╛рдБрдЪрд╛ рдбреЗрдЯрд╛ рддрд╛рд▓рдХреЛ рдЕрд╡рддрд░рдг (рд╕рдВрдХреНрд░рдордг) рдХреНрд╖реЗрддреНрд░рдорд╛ рд▓реЗрдЦреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫ (рдбрд╛рдЯрд╛ рддрд╛рд▓, рд╡рд╛ рдбрд╛рдЯрд╛ рд▓реЗрдХ - рдбрд╛рдЯрд╛ рд╕реНрд░реЛрддрд╣рд░реВ рд╕рд┐рдзреИ рдмрд╛рд╣реЗрдХ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░рдХрд╛ рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдХреЛ рд╕рдВрдЧреНрд░рд╣)ред

рддреНрдпрд╕реЛрднрдП, рдпреЛ рдврд╛рдБрдЪрд╛ рдирд┐рдореНрди рдХрд╛рд░рдгрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдбреЗрдЯрд╛ рддрд╛рд▓рдХреЛ рдЕрд╡рддрд░рдг рдХреНрд╖реЗрддреНрд░рдорд╛ рд▓реЗрдЦреНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдмреИрднрдиреНрджрд╛ рдЙрдкрдпреБрдХреНрдд рдЫ:

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

рдкрд╛рд░реНрдХреЗрдЯ рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛

Parquet Hadoop рдХреЛ рд▓рд╛рдЧрд┐ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛ рд╣реЛ рдЬреБрди рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрджрдЫ рд╕рдорддрд▓ рд╕реНрддрдореНрдн рдврд╛рдБрдЪрд╛рдорд╛ рдиреЗрд╕реНрдЯреЗрдб рдбрд╛рдЯрд╛ рд╕рдВрд░рдЪрдирд╛рд╣рд░реВ.

рдкрд░рдореНрдкрд░рд╛рдЧрдд рдкрдЩреНрдХреНрддрд┐ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдХреЛ рддреБрд▓рдирд╛рдорд╛, рдкрд╛рд░реНрдХреЗрдЯ рднрдгреНрдбрд╛рд░рдг рд░ рдкреНрд░рджрд░реНрд╢рдирдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдЫред

рдпреЛ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рд╡рд┐рд╕реНрддреГрдд (рдзреЗрд░реИ рд╕реНрддрдореНрднрд╣рд░реВ) рддрд╛рд▓рд┐рдХрд╛рдмрд╛рдЯ рд╡рд┐рд╢реЗрд╖ рд╕реНрддрдореНрднрд╣рд░реВ рдкрдвреНрдиреЗ рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреЛрдЧреА рдЫред рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдзрдиреНрдпрд╡рд╛рдж, рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рд╕реНрддрдореНрднрд╣рд░реВ рдкрдврд┐рдиреНрдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ I/O рдиреНрдпреВрдирддрдо рд░рд╛рдЦрд┐рдПрдХреЛ рдЫред

рдПрдЙрдЯрд╛ рд╕рд╛рдиреЛ рд╡рд┐рд╖рдпрд╡рд╕реНрддреБ рд░ рд╡реНрдпрд╛рдЦреНрдпрд╛: Hadoop рдорд╛ Parquet рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдмреБрдЭреНрдирдХреЛ рд▓рд╛рдЧрд┐, рд╕реНрддрдореНрдн-рдЖрдзрд╛рд░рд┐рдд - рдЕрд░реНрдерд╛рддреН рд╕реНрддрдореНрдн - рдврд╛рдБрдЪрд╛ рдХреЗ рд╣реЛ рд╣реЗрд░реМрдВред рдпреЛ рдврд╛рдБрдЪрд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдореНрднрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд╛рди рдорд╛рдирд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрджрдЫред

рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд░реЗрдХрд░реНрдбрдорд╛ рдЖрдИрдбреА, рдирд╛рдо, рд░ рд╡рд┐рднрд╛рдЧ рдХреНрд╖реЗрддреНрд░рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреНред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╕рдмреИ ID рд╕реНрддрдореНрдн рдорд╛рдирд╣рд░реВ рд╕рдБрдЧреИ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдиреЗрдЫ, рдЬрд╕реНрддреИ рдирд╛рдо рд╕реНрддрдореНрдн рдорд╛рдирд╣рд░реВ, рд░ рдпрд╕реНрддреИред рддрд╛рд▓рд┐рдХрд╛ рдпрд╕реНрддреЛ рдХреЗрд╣рд┐ рджреЗрдЦрд┐рдиреЗрдЫ:

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 рдЕрдкрд░реЗрд╢рдирд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдШрдЯрд╛рдЙрдБрдЫ рдХрд┐рдирднрдиреЗ рдХреЗрд╡рд▓ рдЗрдЪреНрдЫрд┐рдд рд╕реНрддрдореНрднрд╣рд░реВ рдкрдврд┐рдиреНрдЫрдиреНред

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

рдареВрд▓реЛ рдбреЗрдЯрд╛рдорд╛ рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛рд╣рд░реВ: рдЫреЛрдЯреЛ рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо
Hadoop рдорд╛ Parquet рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛ рдмреБрдЭреНрди, рддрдкрд╛рдИрдВрд▓реЗ рдирд┐рдореНрди рд╕рд░реНрддрд╣рд░реВ рдЬрд╛рдиреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:

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

рдареВрд▓реЛ рдбреЗрдЯрд╛рдорд╛ рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛рд╣рд░реВ: рдЫреЛрдЯреЛ рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо
рдпрд╣рд╛рдБ рд╢реАрд░реНрд╖рдХрдорд╛ рдХреЗрд╡рд▓ рдЬрд╛рджреБрдИ рд╕рдВрдЦреНрдпрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫ PAR1 (рек рдмрд╛рдЗрдЯреНрд╕) рдЬрд╕рд▓реЗ рдлрд╛рдЗрд▓рд▓рд╛рдИ рдкрд░реНрдХреЗрдЯ рдлрд╛рдЗрд▓рдХреЛ рд░реВрдкрдорд╛ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдЫред

рдлреБрдЯрд░рд▓реЗ рдирд┐рдореНрди рднрдиреНрдЫ:

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

ORC рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛

рдЕрдиреБрдХреВрд▓рд┐рдд рдкрдЩреНрдХреНрддрд┐-рд╕реНрддрдореНрдн рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛ (рдЕрдиреБрдХреВрд▓рд┐рдд рдкрдЩреНрдХреНрддрд┐ рд╕реНрддрдореНрдн, рдУрдЖрд░рд╕реА) рдбреЗрдЯрд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдПрдХ рдзреЗрд░реИ рдХреБрд╢рд▓ рддрд░рд┐рдХрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ рд░ рдЕрдиреНрдп рдврд╛рдБрдЪрд╛рд╣рд░реБ рдХреЛ рд╕реАрдорд╛рд╣рд░реБ рд▓рд╛рдИ рдкрд╛рд░ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рдареВрд▓рд╛, рдЬрдЯрд┐рд▓ рд╡рд╛ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рд░рд╛рдЦрд┐рдПрдХреЛ рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛рдХреЛ рдирд┐рд░реНрдорд╛рдгрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдмрд┐рдирд╛ рдиреИ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╡рд┐рд╡рд░рдгрд╣рд░реВ рдЫреЛрдбреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдБрджреИ, рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдХрдореНрдкреНрдпрд╛рдХреНрдЯ рдлрд╛рд░рдордорд╛ рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрджрдЫред

ORC рдврд╛рдБрдЪрд╛рдХрд╛ рдлрд╛рдЗрджрд╛рд╣рд░реВ:

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

рдареВрд▓реЛ рдбреЗрдЯрд╛рдорд╛ рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛рд╣рд░реВ: рдЫреЛрдЯреЛ рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо
ORC рд▓реЗ рдПрдХрд▓ рдлрд╛рдЗрд▓рдорд╛ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВрдХреЛ рд╕рдЩреНрдХрд▓рди рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдЫ, рд░ рд╕рдЩреНрдХрд▓рди рднрд┐рддреНрд░, рд╕реНрдЯреНрд░рд┐рдЩ рдбрд╛рдЯрд╛ рд╕реНрддрдореНрдн рдврд╛рдБрдЪрд╛рдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдиреНрдЫред

рдПрдЙрдЯрд╛ ORC рдлрд╛рдЗрд▓рд▓реЗ рдлрд╛рдЗрд▓рдХреЛ рдлреБрдЯрд░рдорд╛ рд╕реНрдЯреНрд░рд╛рдЗрдк рд░ рд╕рдорд░реНрдерди рдЬрд╛рдирдХрд╛рд░реА рднрдирд┐рдиреЗ рд▓рд╛рдЗрдирд╣рд░реВрдХреЛ рд╕рдореВрд╣ рднрдгреНрдбрд╛рд░ рдЧрд░реНрдЫред рдлрд╛рдЗрд▓рдХреЛ рдЕрдиреНрддреНрдпрдорд╛ рд░рд╣реЗрдХреЛ рдкреЛрд╕реНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗ рдХрдореНрдкреНрд░реЗрд╕рди рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рд░ рдХрдореНрдкреНрд░реЗрд╕ рдЧрд░рд┐рдПрдХреЛ рдлреБрдЯрд░рдХреЛ рд╕рд╛рдЗрдЬ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред

рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрдЯреНрдЯреА рдЖрдХрд╛рд░ 250 MB рд╣реЛред рддреНрдпрд╕реНрддрд╛ рдареВрд▓рд╛ рд╕реНрдЯреНрд░рд┐рдкрд╣рд░реВрдХрд╛ рдХрд╛рд░рдг, HDFS рдмрд╛рдЯ рдкрдвреНрдиреЗ рдХрд╛рд░реНрдп рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЧрд░рд┐рдиреНрдЫ: рдареВрд▓рд╛ рд╕рдиреНрдирд┐рд╣рд┐рдд рдмреНрд▓рдХрд╣рд░реВрдорд╛ред

рдлрд╛рдЗрд▓ рдлреБрдЯрд░рд▓реЗ рдлрд╛рдЗрд▓рдорд╛ рд░рд╣реЗрдХрд╛ рд▓реЗрдирд╣рд░реВрдХреЛ рд╕реВрдЪреА, рдкреНрд░рддрд┐ рд▓реЗрди рдкрдЩреНрдХреНрддрд┐рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛, рд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдореНрднрдХреЛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд░реЗрдХрд░реНрдб рдЧрд░реНрджрдЫред рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдореНрднрдХреЛ рд▓рд╛рдЧрд┐ рдЧрдгрдирд╛, рдиреНрдпреВрдирддрдо, рдЕрдзрд┐рдХрддрдо рд░ рдпреЛрдЧрдХреЛ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдорд╛рди рдкрдирд┐ рддреНрдпрд╣рд╛рдБ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫред

рд╕реНрдЯреНрд░рд┐рдкрдХреЛ рдлреБрдЯрд░рд▓реЗ рд╕реНрдЯреНрд░рд┐рдо рд╕реНрдерд╛рдирд╣рд░реВрдХреЛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред

рддрд╛рд▓рд┐рдХрд╛рд╣рд░реВ рд╕реНрдХреНрдпрд╛рди рдЧрд░реНрджрд╛ рдкрдЩреНрдХреНрддрд┐ рдбреЗрдЯрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдбреЗрдЯрд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдореНрднрдХреЛ рд▓рд╛рдЧрд┐ рдиреНрдпреВрдирддрдо рд░ рдЕрдзрд┐рдХрддрдо рдорд╛рдирд╣рд░реВ рд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрддрдореНрднрдорд╛ рдкрдЩреНрдХреНрддрд┐рд╣рд░реВрдХреЛ рд╕реНрдерд┐рддрд┐ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред ORC рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛рд╣рд░реВ рд╕реНрдЯреНрд░рд┐рдкрд╣рд░реВ рд░ рдкрдЩреНрдХреНрддрд┐ рд╕рдореВрд╣рд╣рд░реВ рдЪрдпрди рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рдЬрд╡рд╛рдл рджрд┐рди рд╣реЛрдЗрдиред

рд╡рд┐рднрд┐рдиреНрди рдлрд╛рдЗрд▓ рдврд╛рдБрдЪрд╛рд╣рд░реВрдХреЛ рддреБрд▓рдирд╛

рдкрд░реНрдХреЗрдЯрдХреЛ рддреБрд▓рдирд╛рдорд╛ Avro

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

ORC рдмрдирд╛рдо рдкрд╛рд░реНрдХреНрд╡реЗрдЯ

  1. рдкрд╛рд░реНрдХреЗрдЯрд▓реЗ рдиреЗрд╕реНрдЯреЗрдб рдбрд╛рдЯрд╛ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рднрдгреНрдбрд╛рд░ рдЧрд░реНрджрдЫред
  2. ORC pushdown predicate рдЧрд░реНрди рд░рд╛рдореНрд░реЛ рдЙрдкрдпреБрдХреНрдд рдЫред
  3. ORC рд▓реЗ ACID рдЧреБрдгрд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред
  4. ORC рд▓реЗ рдбреЗрдЯрд╛ рд░рд╛рдореНрд░реЛрд╕рдБрдЧ рдХрдореНрдкреНрд░реЗрд╕ рдЧрд░реНрдЫред

рдмрд┐рд╖рдпрдорд╛ рдЕрд░реБ рдХреЗ рдкрдвреНрдиреБ рд╣реЛрд▓рд╛:

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

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди