Π€Π°ΠΉΠ»ΠΎΠ²ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ: ΠΊΡ€Π°Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°

Π€Π°ΠΉΠ»ΠΎΠ²ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ: ΠΊΡ€Π°Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°
БоТСство Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΎΡ‚ Remarin

ΠžΡ‚Π±ΠΎΡ€ ΠžΠ±Π»Π°Ρ‡Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° Mail.ru ΠΎΡ„Π΅Ρ€Ρ‚ΠΈ ΠΏΡ€Π΅Π²ΠΎΠ΄ Π½Π° статия ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ Rahul Bhatia ΠΎΡ‚ 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, ΠΊΠΎΠΉΡ‚ΠΎ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈ структури ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ Π² плосък ΠΊΠΎΠ»ΠΎΠ½Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

Π’ сравнСниС с традиционния Ρ€Π΅Π΄ΠΎΠ² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Parquet Π΅ ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ производитСлност.

Π’ΠΎΠ²Π° Π΅ особСно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° заявки, ΠΊΠΎΠΈΡ‚ΠΎ Ρ‡Π΅Ρ‚Π°Ρ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΎΡ‚ ΡˆΠΈΡ€ΠΎΠΊΠ° (ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈ) Ρ‚Π°Π±Π»ΠΈΡ†Π°. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° файловия Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ сС Ρ‡Π΅Ρ‚Π°Ρ‚ само Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ I/O Π΅ свСдСн Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ.

Малко ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΈ пояснСниС: Π—Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ файловия Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Parquet Π² Hadoop, Π½Π΅ΠΊΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ – Ρ‚.Π΅. ΠΊΠΎΠ»ΠΎΠ½Π΅Π½ – Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Π’ΠΎΠ·ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ стойности Π·Π° всяка ΠΊΠΎΠ»ΠΎΠ½Π° Π·Π°Π΅Π΄Π½ΠΎ.

НапримСр, Π·Π°ΠΏΠΈΡΡŠΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΏΠΎΠ»Π΅Ρ‚Π°Ρ‚Π° ID, ИмС ΠΈ ΠžΡ‚Π΄Π΅Π». Π’ Ρ‚ΠΎΠ·ΠΈ случай всички стойности Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°Ρ‚Π° ID Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈ Π·Π°Π΅Π΄Π½ΠΎ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ стойноститС Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°Ρ‚Π° Name ΠΈ Ρ‚.Π½. Π’Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

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 Π΄ΠΎΡ€ΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠΎΠ»Π΅Ρ‚Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Ρ‡Π΅Ρ‚Π°Ρ‚ ΠΏΠΎΠΎΡ‚Π΄Π΅Π»Π½ΠΎ, Π±Π΅Π· Π΄Π° сС Π½Π°Π»Π°Π³Π° Π΄Π° Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅ всички ΠΏΠΎΠ»Π΅Ρ‚Π° във Π²Π»ΠΎΠΆΠ΅Π½Π°Ρ‚Π° структура. Parquet ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° раздробяванС ΠΈ сглобяванС Π·Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈ структури.

Π€Π°ΠΉΠ»ΠΎΠ²ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ: ΠΊΡ€Π°Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°
Π—Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ файловия Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Parquet Π² Hadoop, трябва Π΄Π° Π·Π½Π°Π΅Ρ‚Π΅ слСднитС Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈ:

  1. Π“Ρ€ΡƒΠΏΠ° Π½ΠΈΠ·ΠΎΠ²Π΅ (Π³Ρ€ΡƒΠΏΠ° Ρ€Π΅Π΄ΠΎΠ²Π΅): логичСско Ρ…ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»Π½ΠΎ раздСлянС Π½Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² Ρ€Π΅Π΄ΠΎΠ²Π΅. Π“Ρ€ΡƒΠΏΠ° Ρ€Π΅Π΄ΠΎΠ²Π΅ сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ всяка ΠΊΠΎΠ»ΠΎΠ½Π° Π² Π½Π°Π±ΠΎΡ€Π° ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ.
  2. Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ ΠΊΠΎΠ»ΠΎΠ½Π° (част ΠΎΡ‚ ΠΊΠΎΠ»ΠΎΠ½Π°): Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π°. Π’Π΅Π·ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ТивСят Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π³Ρ€ΡƒΠΏΠ° Ρ€Π΅Π΄ΠΎΠ²Π΅ ΠΈ Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ, Ρ‡Π΅ са съсСдни във Ρ„Π°ΠΉΠ»Π°.
  3. Page (страница): Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΈ са Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π½Π° страници, написани Π΅Π΄Π½Π° слСд Π΄Ρ€ΡƒΠ³Π°. Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΈΠΌΠ°Ρ‚ ΠΎΠ±Ρ‰ΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° пропускатС Π½Π΅Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ Ρ‡Π΅Ρ‚Π΅Π½Π΅.

Π€Π°ΠΉΠ»ΠΎΠ²ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ: ΠΊΡ€Π°Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°
Π’ΡƒΠΊ Π·Π°Π³Π»Π°Π²ΠΈΠ΅Ρ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° само магичСското число PAR1 (4 Π±Π°ΠΉΡ‚Π°), ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° Ρ„Π°ΠΉΠ»Π° ΠΊΠ°Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π½Π° Parquet.

Долният ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ» ΠΊΠ°Π·Π²Π° слСдното:

  1. Π€Π°ΠΉΠ»ΠΎΠ²ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ Π½Π°Ρ‡Π°Π»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΈ Π½Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° всяка ΠΊΠΎΠ»ΠΎΠ½Π°. ΠšΠΎΠ³Π°Ρ‚ΠΎ Ρ‡Π΅Ρ‚Π΅Ρ‚Π΅, ΠΏΡŠΡ€Π²ΠΎ трябва Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° Ρ„Π°ΠΉΠ»Π°, Π·Π° Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ всички интСрСсни Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈ ΠΎΡ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° частитС ΠΎΡ‚ ΠΊΠΎΠ»ΠΎΠ½Π°Ρ‚Π° трябва Π΄Π° сС ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π°Ρ‚ послСдоватСлно. Π”Ρ€ΡƒΠ³ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ вСрсията Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, схСмата ΠΈ всички Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡŽΡ‡-стойност.
  2. Π”ΡŠΠ»ΠΆΠΈΠ½Π° Π½Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈΡ‚Π΅ (4 Π±Π°ΠΉΡ‚Π°).
  3. магичСско число PAR1 (4 Π±Π°ΠΉΡ‚Π°).

ORC Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ€Π΅Π΄-ΠΊΠΎΠ»ΠΎΠ½Π° (ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π° Π½Π° Ρ€Π΅Π΄, CRO) ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½ Π΄Π° ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Π΅ ограничСнията Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ. Π‘ΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π² ΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Π° Ρ„ΠΎΡ€ΠΌΠ°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° пропускатС Π½Π΅Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ подробности - Π±Π΅Π· Π΄Π° сС Π½Π°Π»Π°Π³Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ, слоТни ΠΈΠ»ΠΈ Ρ€ΡŠΡ‡Π½ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈ индСкси.

ΠŸΡ€Π΅Π΄ΠΈΠΌΡΡ‚Π²Π° Π½Π° ORC Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°:

  1. Π•Π΄ΠΈΠ½ Ρ„Π°ΠΉΠ» Π΅ ΠΈΠ·Ρ…ΠΎΠ΄ΡŠΡ‚ Π½Π° всяка Π·Π°Π΄Π°Ρ‡Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ намалява Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° NameNode (ΠΈΠΌΠ΅Π½Π΅Π½ възСл).
  2. ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ Hive, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ DateTime, дСсСтични ΠΈ слоТни Ρ‚ΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ (структура, списък, ΠΊΠ°Ρ€Ρ‚Π° ΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅).
  3. Π•Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ‡Π΅Ρ‚Π΅Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰ Ρ„Π°ΠΉΠ» ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ процСси Π½Π° RecordReader.
  4. Π’ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° раздСлянС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π±Π΅Π· сканиранС Π·Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΈ.
  5. ΠžΡ†Π΅Π½ΠΊΠ° Π½Π° максимално Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡ‚ΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅/запис въз основа Π½Π° информацията Π² долния ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ» Π½Π° Ρ„Π°ΠΉΠ»Π°.
  6. ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈΡ‚Π΅ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π·Π° Π΄Π²ΠΎΠΈΡ‡Π½Π° сСриализация Π½Π° Π±ΡƒΡ„Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, ΠΊΠΎΠΉΡ‚ΠΎ позволява добавянС ΠΈ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»Π΅Ρ‚Π°.

Π€Π°ΠΉΠ»ΠΎΠ²ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ Π² Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ: ΠΊΡ€Π°Ρ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°
ORC ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΠΊΠΎΠ»Π΅ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ Π½ΠΈΠ·ΠΎΠ²Π΅ Π² Π΅Π΄ΠΈΠ½ Ρ„Π°ΠΉΠ», Π° Π² колСкцията Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π·Π° Π½ΠΈΠ·ΠΎΠ²Π΅ сС ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚ Π² ΠΊΠΎΠ»ΠΎΠ½Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

ORC Ρ„Π°ΠΉΠ» ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π³Ρ€ΡƒΠΏΠΈ ΠΎΡ‚ Ρ€Π΅Π΄ΠΎΠ²Π΅, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈ ΠΈΠ²ΠΈΡ†ΠΈ, ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‰Π° информация Π² долния ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ» Π½Π° Ρ„Π°ΠΉΠ»Π°. Postscript Π² края Π½Π° Ρ„Π°ΠΉΠ»Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π·Π° компрСсиранС ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° компрСсирания Π΄ΠΎΠ»Π΅Π½ ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ».

Π Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Π»Π΅Π½Ρ‚Π°Ρ‚Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ 250 MB. ΠŸΠΎΡ€Π°Π΄ΠΈ Ρ‚Π°ΠΊΠΈΠ²Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈΠ²ΠΈΡ†ΠΈ, Ρ‡Π΅Ρ‚Π΅Π½Π΅Ρ‚ΠΎ ΠΎΡ‚ HDFS сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ: Π² Π³ΠΎΠ»Π΅ΠΌΠΈ съсСдни Π±Π»ΠΎΠΊΠΎΠ²Π΅.

Долният ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ» Π½Π° Ρ„Π°ΠΉΠ»Π° записва списъка с Π»Π΅Π½Ρ‚ΠΈ във Ρ„Π°ΠΉΠ»Π°, броя Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° Π»Π΅Π½Ρ‚Π° ΠΈ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½ΠΈ Π½Π° всяка ΠΊΠΎΠ»ΠΎΠ½Π°. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π°Ρ‚Π° стойност Π½Π° броя, ΠΌΠΈΠ½., макс. ΠΈ сумата Π·Π° всяка ΠΊΠΎΠ»ΠΎΠ½Π° ΡΡŠΡ‰ΠΎ Π΅ записана Ρ‚Π°ΠΌ.

Долният ΠΊΠΎΠ»ΠΎΠ½Ρ‚ΠΈΡ‚ΡƒΠ» Π½Π° Π»Π΅Π½Ρ‚Π°Ρ‚Π° ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° дирСктория с мСстополоТСния Π½Π° ΠΏΠΎΡ‚ΠΎΡ†ΠΈ.

Π”Π°Π½Π½ΠΈΡ‚Π΅ ΠΎΡ‚ Ρ€Π΅Π΄ΠΎΠ²Π΅ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΏΡ€ΠΈ сканиранС Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†ΠΈ.

Π˜Π½Π΄Π΅ΠΊΡΠ½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡ‚Π΅ ΠΈ максималнитС стойности Π·Π° всяка ΠΊΠΎΠ»ΠΎΠ½Π° ΠΈ позицията Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ във всяка ΠΊΠΎΠ»ΠΎΠ½Π°. ORC индСкситС сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ само Π·Π° ΠΈΠ·Π±ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ²ΠΈΡ†ΠΈ ΠΈ Π³Ρ€ΡƒΠΏΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅, Π° Π½Π΅ Π·Π° отговарянС Π½Π° заявки.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ

Авро Π² сравнСниС с ΠŸΠ°Ρ€ΠΊΠ΅Ρ‚

  1. Avro Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π΅Π΄ΠΎΠ²Π΅, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Parquet ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΈ.
  2. Parquet Π΅ ΠΏΠΎ-подходящ Π·Π° Π°Π½Π°Π»ΠΈΡ‚ΠΈΡ‡Π½ΠΈ заявки, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° Ρ‡Π΅Ρ‚Π΅Π½Π΅ ΠΈ заявкитС Π·Π° Π΄Π°Π½Π½ΠΈ са ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΈ ΠΎΡ‚ записитС.
  3. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ Π·Π° запис Π² Avro сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ, ΠΎΡ‚ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π² Parquet.
  4. Avro сС Π·Π°Π½ΠΈΠΌΠ°Π²Π° с Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΡΡ‚Π° Π½Π° Π²Π΅Ρ€ΠΈΠ³ΠΈΡ‚Π΅ ΠΏΠΎ-зряло. Parquet ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° само добавянС Π½Π° схСма, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Avro ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½Π° Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΡ, тоСст добавянС ΠΈΠ»ΠΈ промяна Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ.
  5. Parquet Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½ Π·Π° Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅ към подмноТСство ΠΎΡ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π° с няколко ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Avro Π΅ подходящ Π·Π° ETL ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠΌ заявки Π·Π° всички ΠΊΠΎΠ»ΠΎΠ½ΠΈ.

ORC срСщу ΠŸΠ°Ρ€ΠΊΠ΅Ρ‚

  1. Parquet ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π° ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ.
  2. ORC Π΅ ΠΏΠΎ-подходящ Π·Π° натисканС Π½Π° ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚.
  3. ORC ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ACID свойства.
  4. ORC компрСсира Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅.

Какво ΠΎΡ‰Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎ Ρ‚Π΅ΠΌΠ°Ρ‚Π°:

  1. Анализ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ°: ΠΊΠ°ΠΊ Π΅Π΄Π½Π° компания ΠΌΠΎΠΆΠ΅ Π΄Π° станС ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° към Π΄Π°Π½Π½ΠΈ.
  2. Π‘ΠΊΡ€ΠΎΠΌΠ½ΠΎ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° схСми Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ.
  3. ΠΠ°ΡˆΠΈΡΡ‚ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ ΠΊΠ°Π½Π°Π» Π·Π° Π΄ΠΈΠ³ΠΈΡ‚Π°Π»Π½Π°Ρ‚Π° трансформация.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€