ΠΡΠ±ΠΎΡ
ΠΠ°ΡΠΎ ΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ?
ΠΡΠ½ΠΎΠ²Π½ΠΎ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π·Π° HDFS-Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠΎ MapReduce ΠΈ Spark Π΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° ΡΡΡΡΠ΅Π½Π΅, ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΠΏΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ. Π’Π΅Π·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ΅ ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π°Ρ ΠΎΡ ΡΡΡΠ΄Π½ΠΎΡΡΡΠ° ΠΏΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π°Π±ΠΎΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ, Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΠ° ΡΠ΅ ΡΡ Π΅ΠΌΠ°, Π° Π½Π΅ ΡΠΈΠΊΡΠΈΡΠ°Π½Π°, ΠΈΠ»ΠΈ Π°ΠΊΠΎ ΠΈΠΌΠ° Π½ΡΠΊΠΎΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ - Hadoop ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ·Π»ΠΈΡΠ½ΠΎ, Π·Π° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΡΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡ ΠΊΡΠΌ Π³ΡΠ΅ΡΠΊΠΈ. ΠΡΠ²Π΅Π½ Π΄ΠΈΡΠΊΠΎΠ²Π΅ ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡ, ΠΌΡΠ΅ΠΆΠ°, Π²Ρ ΠΎΠ΄Π½ΠΎ/ΠΈΠ·Ρ ΠΎΠ΄Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ Ρ.Π½. Π‘ Π½Π°ΡΠ°ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΎΠ±Π΅ΠΌΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π°ΡΠ°ΡΡΠ²Π°Ρ ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΡΡΡ Π½Π°ΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅.
Π Π°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ Π²
- ΠΠΎ-Π±ΡΡΠ·ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅.
- ΠΠΎ-Π±ΡΡΠ·ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π·Π°ΠΏΠΈΡ.
- Π‘ΠΏΠΎΠ΄Π΅Π»Π΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ Π½Π° ΡΡ Π΅ΠΌΠ°ΡΠ°.
- Π Π°Π·ΡΠΈΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅.
ΠΡΠΊΠΎΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ ΡΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈ Π·Π° ΠΎΠ±ΡΠ° ΡΠΏΠΎΡΡΠ΅Π±Π°, Π΄ΡΡΠ³ΠΈ Π·Π° ΠΏΠΎ-ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΡΠ΅Π»ΠΈ, Π° Π½ΡΠΊΠΎΠΈ ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½ΠΈ Π΄Π° ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅. Π’Π°ΠΊΠ° ΡΠ΅ ΠΈΠ·Π±ΠΎΡΡΡ Π½Π°ΠΈΡΡΠΈΠ½Π° Π΅ Π΄ΠΎΡΡΠ° Π³ΠΎΠ»ΡΠΌ.
Avro ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΡΠΌΠ°Ρ
ΠΠ° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΠΈ Avro ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΡΠΎΠΊΠΎ - ΡΠΎ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅, ΡΠΎΠ΅ΡΡ ΡΠΎΡΠΌΠ°Ρ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π½ΠΈΠ·ΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ Π² Hadoop. Π’ΠΎΠΉ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΡΡ Π΅ΠΌΠ°ΡΠ° Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ JSON, ΠΊΠΎΠ΅ΡΠΎ Ρ ΠΏΡΠ°Π²ΠΈ Π»Π΅ΡΠ½Π° Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΎΡ Π²ΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°. Π‘Π°ΠΌΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΠ° Π² Π΄Π²ΠΎΠΈΡΠ΅Π½ ΡΠΎΡΠΌΠ°Ρ, ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΈ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ.
Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Avro Π΅ Π΅Π·ΠΈΠΊΠΎΠ²ΠΎ Π½Π΅ΡΡΡΠ°Π»Π½Π°. Π€Π°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΅Π·ΠΈΡΠΈ, Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° C, C++, C#, Java, Python ΠΈ Ruby.
ΠΠ»ΡΡΠΎΠ²Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π½Π° Avro Π΅ ΡΡΠ°Π±ΠΈΠ»Π½Π°ΡΠ° ΠΌΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡ Π΅ΠΌΠΈ Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ, Ρ.Π΅. Avro ΡΠ°Π·Π±ΠΈΡΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΡΡ Π΅ΠΌΠ°ΡΠ° - ΠΈΠ·ΡΡΠΈΠ²Π°Π½Π΅, Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΏΠΎΠ»Π΅ΡΠ°.
Avro ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π·Π°ΠΏΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΠΌΠ°ΡΠΈΠ², ΠΈΠ·Π±ΡΠΎΠ΅Π½ ΡΠΈΠΏ ΠΈ ΠΏΠΎΠ΄Π·Π°ΠΏΠΈΡ.
Π’ΠΎΠ·ΠΈ ΡΠΎΡΠΌΠ°Ρ Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½ Π·Π° Π·Π°ΠΏΠΈΡ Π² Π·ΠΎΠ½Π°ΡΠ° Π·Π° ΠΊΠ°ΡΠ°Π½Π΅ (ΠΏΡΠ΅Ρ
ΠΎΠ΄) Π½Π° Π΅Π·Π΅ΡΠΎ Ρ Π΄Π°Π½Π½ΠΈ (
Π’Π°ΠΊΠ° ΡΠ΅ ΡΠΎΠ·ΠΈ ΡΠΎΡΠΌΠ°Ρ Π΅ Π½Π°ΠΉ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° Π·Π°ΠΏΠΈΡ Π² Π·ΠΎΠ½Π°ΡΠ° Π·Π° ΠΊΠ°ΡΠ°Π½Π΅ Π½Π° Π΅Π·Π΅ΡΠΎ Ρ Π΄Π°Π½Π½ΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ:
- ΠΠ°Π½Π½ΠΈΡΠ΅ ΠΎΡ ΡΠ°Π·ΠΈ Π·ΠΎΠ½Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΡΠ΅ΡΠ°Ρ ΠΈΠ·ΡΡΠ»ΠΎ Π·Π° ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΡΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π°Π΄ΠΎΠ»Ρ ΠΏΠΎ Π²Π΅ΡΠΈΠ³Π°ΡΠ° - ΠΈ Π±Π°Π·ΠΈΡΠ°Π½ΠΈΡΡ Π½Π° ΡΠ΅Π΄ ΡΠΎΡΠΌΠ°Ρ Π΅ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ.
- Π‘ΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π½Π°Π΄ΠΎΠ»Ρ ΠΏΠΎ Π²Π΅ΡΠΈΠ³Π°ΡΠ° ΠΌΠΎΠ³Π°Ρ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΠΈΠ·Π²Π»ΠΈΡΠ°Ρ ΡΠ°Π±Π»ΠΈΡΠΈ ΡΡΡ ΡΡ Π΅ΠΌΠΈ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ β Π½ΡΠΌΠ° Π½ΡΠΆΠ΄Π° Π΄Π° ΡΡΡ ΡΠ°Π½ΡΠ²Π°ΡΠ΅ ΡΡ Π΅ΠΌΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΎ Π²ΡΠ² Π²ΡΠ½ΡΠ½ΠΎ ΠΌΠ΅ΡΠ° Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
- ΠΡΡΠΊΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π² ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½Π°ΡΠ° ΡΡ Π΅ΠΌΠ° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π»Π΅ΡΠ½ΠΎ (Π΅Π²ΠΎΠ»ΡΡΠΈΡ Π½Π° ΡΡ Π΅ΠΌΠ°ΡΠ°).
Π€ΠΎΡΠΌΠ°Ρ Π½Π° ΡΠ°ΠΉΠ» Π·Π° ΠΏΠ°ΡΠΊΠ΅Ρ
Parquet Π΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΡΠΌΠ°Ρ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Π·Π° Hadoop, ΠΊΠΎΠΉΡΠΎ ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΡΡΡΠΊΡΡΡΠΈ ΠΎΡ Π΄Π°Π½Π½ΠΈ Π² ΠΏΠ»ΠΎΡΡΠΊ ΠΊΠΎΠ»ΠΎΠ½Π΅Π½ ΡΠΎΡΠΌΠ°Ρ.
Π ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ΅Π΄ΠΎΠ² ΠΏΠΎΠ΄Ρ ΠΎΠ΄, Parquet Π΅ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ.
Π’ΠΎΠ²Π° Π΅ ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ΡΠ°Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΎΡ ΡΠΈΡΠΎΠΊΠ° (ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈ) ΡΠ°Π±Π»ΠΈΡΠ°. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡ ΡΠΎΡΠΌΠ°Ρ ΡΠ΅ ΡΠ΅ΡΠ°Ρ ΡΠ°ΠΌΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ I/O Π΅ ΡΠ²Π΅Π΄Π΅Π½ Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ.
ΠΠ°Π»ΠΊΠΎ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠ΅: ΠΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡ ΡΠΎΡΠΌΠ°Ρ Parquet Π² Hadoop, Π½Π΅ΠΊΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ β Ρ.Π΅. ΠΊΠΎΠ»ΠΎΠ½Π΅Π½ β ΡΠΎΡΠΌΠ°Ρ. Π’ΠΎΠ·ΠΈ ΡΠΎΡΠΌΠ°Ρ ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π·Π° Π²ΡΡΠΊΠ° ΠΊΠΎΠ»ΠΎΠ½Π° Π·Π°Π΅Π΄Π½ΠΎ.
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
ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΊΠΎΠ»ΠΎΠ½Π½ΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΡΡΡΠ΅Π½Π΅, Π·Π° Π΄Π° ΡΡΠΈΠ³Π½Π΅ Π΄ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ, ΠΈ Π½Π°ΠΌΠ°Π»ΡΠ²Π° Π±ΡΠΎΡ Π½Π° I/O ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅ ΡΠ΅ΡΠ°Ρ ΡΠ°ΠΌΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΈ.
ΠΠ΄Π½Π° ΠΎΡ ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈΡΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
ΠΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈΡ ΡΠΎΡΠΌΠ°Ρ Parquet Π² Hadoop, ΡΡΡΠ±Π²Π° Π΄Π° Π·Π½Π°Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½ΠΈ:
- ΠΡΡΠΏΠ° Π½ΠΈΠ·ΠΎΠ²Π΅ (Π³ΡΡΠΏΠ° ΡΠ΅Π΄ΠΎΠ²Π΅): Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎ Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΡΠ΅Π΄ΠΎΠ²Π΅. ΠΡΡΠΏΠ° ΡΠ΅Π΄ΠΎΠ²Π΅ ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΎΡ Π²ΡΡΠΊΠ° ΠΊΠΎΠ»ΠΎΠ½Π° Π² Π½Π°Π±ΠΎΡΠ° ΠΎΡ Π΄Π°Π½Π½ΠΈ.
- Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΎΡ ΠΊΠΎΠ»ΠΎΠ½Π° (ΡΠ°ΡΡ ΠΎΡ ΠΊΠΎΠ»ΠΎΠ½Π°): ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΠΊΠΎΠ»ΠΎΠ½Π°. Π’Π΅Π·ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΠΆΠΈΠ²Π΅ΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° Π³ΡΡΠΏΠ° ΡΠ΅Π΄ΠΎΠ²Π΅ ΠΈ Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΎ, ΡΠ΅ ΡΠ° ΡΡΡΠ΅Π΄Π½ΠΈ Π²ΡΠ² ΡΠ°ΠΉΠ»Π°.
- Page (ΡΡΡΠ°Π½ΠΈΡΠ°): Π€ΡΠ°Π³ΠΌΠ΅Π½ΡΠΈΡΠ΅ ΠΎΡ ΠΊΠΎΠ»ΠΎΠ½ΠΈ ΡΠ° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π΅Π΄Π½Π° ΡΠ»Π΅Π΄ Π΄ΡΡΠ³Π°. Π‘ΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΈΠΌΠ°Ρ ΠΎΠ±ΡΠΎ Π·Π°Π³Π»Π°Π²ΠΈΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΠΈΡΠ΅ ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½Π΅.
Π’ΡΠΊ Π·Π°Π³Π»Π°Π²ΠΈΠ΅ΡΠΎ ΡΡΠ΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΎΡΠΎ ΡΠΈΡΠ»ΠΎ PAR1 (4 Π±Π°ΠΉΡΠ°), ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ° ΡΠ°ΠΉΠ»Π° ΠΊΠ°ΡΠΎ ΡΠ°ΠΉΠ» Π½Π° Parquet.
ΠΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΡΠΈΡΡΠ» ΠΊΠ°Π·Π²Π° ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ:
- Π€Π°ΠΉΠ»ΠΎΠ²ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π½Π°ΡΠ°Π»Π½ΠΈΡΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π²ΡΡΠΊΠ° ΠΊΠΎΠ»ΠΎΠ½Π°. ΠΠΎΠ³Π°ΡΠΎ ΡΠ΅ΡΠ΅ΡΠ΅, ΠΏΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΠ»Π°, Π·Π° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠΈ ΠΎΡ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ°ΡΡΠΈΡΠ΅ ΠΎΡ ΠΊΠΎΠ»ΠΎΠ½Π°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ. ΠΡΡΠ³ΠΈΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΠΎΡΠΌΠ°ΡΠ°, ΡΡ Π΅ΠΌΠ°ΡΠ° ΠΈ Π²ΡΠΈΡΠΊΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ Π΄Π²ΠΎΠΉΠΊΠΈ ΠΊΠ»ΡΡ-ΡΡΠΎΠΉΠ½ΠΎΡΡ.
- ΠΡΠ»ΠΆΠΈΠ½Π° Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈΡΠ΅ (4 Π±Π°ΠΉΡΠ°).
- ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΎ ΡΠΈΡΠ»ΠΎ PAR1 (4 Π±Π°ΠΉΡΠ°).
ORC ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΡΠΌΠ°Ρ
ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΡΠΌΠ°Ρ ΡΠ΅Π΄-ΠΊΠΎΠ»ΠΎΠ½Π° (ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° ΠΊΠΎΠ»ΠΎΠ½Π° Π½Π° ΡΠ΅Π΄,
ΠΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° Π½Π° ORC ΡΠΎΡΠΌΠ°ΡΠ°:
- ΠΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» Π΅ ΠΈΠ·Ρ ΠΎΠ΄ΡΡ Π½Π° Π²ΡΡΠΊΠ° Π·Π°Π΄Π°ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΌΠ°Π»ΡΠ²Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° NameNode (ΠΈΠΌΠ΅Π½Π΅Π½ Π²ΡΠ·Π΅Π»).
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ Hive, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ DateTime, Π΄Π΅ΡΠ΅ΡΠΈΡΠ½ΠΈ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ (ΡΡΡΡΠΊΡΡΡΠ°, ΡΠΏΠΈΡΡΠΊ, ΠΊΠ°ΡΡΠ° ΠΈ ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅).
- ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΡΠ°ΠΉΠ» ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° RecordReader.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π±Π΅Π· ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π·Π° ΠΌΠ°ΡΠΊΠ΅ΡΠΈ.
- ΠΡΠ΅Π½ΠΊΠ° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π·Π° ΡΠ΅ΡΠ΅Π½Π΅/Π·Π°ΠΏΠΈΡ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ° Π² Π΄ΠΎΠ»Π½ΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΡΠΈΡΡΠ» Π½Π° ΡΠ°ΠΉΠ»Π°.
- ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ Π·Π° Π΄Π²ΠΎΠΈΡΠ½Π° ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π±ΡΡΠ΅ΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»Π΅ΡΠ°.
ORC ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΠΈ ΠΎΡ Π½ΠΈΠ·ΠΎΠ²Π΅ Π² Π΅Π΄ΠΈΠ½ ΡΠ°ΠΉΠ», Π° Π² ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡΡΠ° Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π° Π½ΠΈΠ·ΠΎΠ²Π΅ ΡΠ΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π°Ρ Π² ΠΊΠΎΠ»ΠΎΠ½Π΅Π½ ΡΠΎΡΠΌΠ°Ρ.
ORC ΡΠ°ΠΉΠ» ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π³ΡΡΠΏΠΈ ΠΎΡ ΡΠ΅Π΄ΠΎΠ²Π΅, Π½Π°ΡΠ΅ΡΠ΅Π½ΠΈ ΠΈΠ²ΠΈΡΠΈ, ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² Π΄ΠΎΠ»Π½ΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΡΠΈΡΡΠ» Π½Π° ΡΠ°ΠΉΠ»Π°. Postscript Π² ΠΊΡΠ°Ρ Π½Π° ΡΠ°ΠΉΠ»Π° ΡΡΠ΄ΡΡΠΆΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π½ΠΈΡ Π΄ΠΎΠ»Π΅Π½ ΠΊΠΎΠ»ΠΎΠ½ΡΠΈΡΡΠ».
Π Π°Π·ΠΌΠ΅ΡΡΡ Π½Π° Π»Π΅Π½ΡΠ°ΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ 250 MB. ΠΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΠΈΠ²Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΈΠ²ΠΈΡΠΈ, ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ ΠΎΡ HDFS ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ: Π² Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΡΡΠ΅Π΄Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅.
ΠΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΡΠΈΡΡΠ» Π½Π° ΡΠ°ΠΉΠ»Π° Π·Π°ΠΏΠΈΡΠ²Π° ΡΠΏΠΈΡΡΠΊΠ° Ρ Π»Π΅Π½ΡΠΈ Π²ΡΠ² ΡΠ°ΠΉΠ»Π°, Π±ΡΠΎΡ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ΡΠ΅ Π½Π° Π»Π΅Π½ΡΠ° ΠΈ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΠΈ Π½Π° Π²ΡΡΠΊΠ° ΠΊΠΎΠ»ΠΎΠ½Π°. ΠΠΎΠ»ΡΡΠ΅Π½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° Π±ΡΠΎΡ, ΠΌΠΈΠ½., ΠΌΠ°ΠΊΡ. ΠΈ ΡΡΠΌΠ°ΡΠ° Π·Π° Π²ΡΡΠΊΠ° ΠΊΠΎΠ»ΠΎΠ½Π° ΡΡΡΠΎ Π΅ Π·Π°ΠΏΠΈΡΠ°Π½Π° ΡΠ°ΠΌ.
ΠΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠ»ΠΎΠ½ΡΠΈΡΡΠ» Π½Π° Π»Π΅Π½ΡΠ°ΡΠ° ΡΡΠ΄ΡΡΠΆΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΏΠΎΡΠΎΡΠΈ.
ΠΠ°Π½Π½ΠΈΡΠ΅ ΠΎΡ ΡΠ΅Π΄ΠΎΠ²Π΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΡΠΈ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π±Π»ΠΈΡΠΈ.
ΠΠ½Π΄Π΅ΠΊΡΠ½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π·Π° Π²ΡΡΠΊΠ° ΠΊΠΎΠ»ΠΎΠ½Π° ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡΡΠ° Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ² Π²ΡΡΠΊΠ° ΠΊΠΎΠ»ΠΎΠ½Π°. ORC ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°ΠΌΠΎ Π·Π° ΠΈΠ·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ²ΠΈΡΠΈ ΠΈ Π³ΡΡΠΏΠΈ ΡΠ΅Π΄ΠΎΠ²Π΅, Π° Π½Π΅ Π·Π° ΠΎΡΠ³ΠΎΠ²Π°ΡΡΠ½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ.
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ
ΠΠ²ΡΠΎ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΠ°ΡΠΊΠ΅Ρ
- Avro Π΅ ΡΠΎΡΠΌΠ°Ρ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅, Π΄ΠΎΠΊΠ°ΡΠΎ Parquet ΡΡΡ ΡΠ°Π½ΡΠ²Π° Π΄Π°Π½Π½ΠΈ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΈ.
- Parquet Π΅ ΠΏΠΎ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° Π΄Π°Π½Π½ΠΈ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΈ ΠΎΡ Π·Π°ΠΏΠΈΡΠΈΡΠ΅.
- ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° Π·Π°ΠΏΠΈΡ Π² Avro ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π² Parquet.
- Avro ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π²Π° Ρ Π΅Π²ΠΎΠ»ΡΡΠΈΡΡΠ° Π½Π° Π²Π΅ΡΠΈΠ³ΠΈΡΠ΅ ΠΏΠΎ-Π·ΡΡΠ»ΠΎ. Parquet ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΡ Π΅ΠΌΠ°, Π΄ΠΎΠΊΠ°ΡΠΎ Avro ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½Π° Π΅Π²ΠΎΠ»ΡΡΠΈΡ, ΡΠΎΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΈ.
- Parquet Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½ Π·Π° Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ ΠΊΡΠΌ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡ ΠΊΠΎΠ»ΠΎΠ½ΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ° Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. Avro Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° ETL ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ ΠΏΡΠ°Π²ΠΈΠΌ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ.
ORC ΡΡΠ΅ΡΡ ΠΠ°ΡΠΊΠ΅Ρ
- Parquet ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ.
- ORC Π΅ ΠΏΠΎ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π·Π° Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΠΈΠΊΠ°Ρ.
- ORC ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ACID ΡΠ²ΠΎΠΉΡΡΠ²Π°.
- ORC ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ΅.
ΠΠ°ΠΊΠ²ΠΎ ΠΎΡΠ΅ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎ ΡΠ΅ΠΌΠ°ΡΠ°:
ΠΠ½Π°Π»ΠΈΠ· Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ°: ΠΊΠ°ΠΊ Π΅Π΄Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ°Π½Π΅ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½Π° ΠΊΡΠΌ Π΄Π°Π½Π½ΠΈ .Π‘ΠΊΡΠΎΠΌΠ½ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π° ΡΡ Π΅ΠΌΠΈ Π½Π° Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ .ΠΠ°ΡΠΈΡΡ ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ ΠΊΠ°Π½Π°Π» Π·Π° Π΄ΠΈΠ³ΠΈΡΠ°Π»Π½Π°ΡΠ° ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΡ .
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com