π ΠΠ±Π·ΠΎΡ ΠΊΠ½ΠΈΠ³ΠΈ Β«Apache Iceberg. ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΒ»
ΠΠ°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅: #proglib_data_engineering
Π£ΡΠΎΠ²Π΅Π½Ρ: #proglib_middle
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° β Π²ΡΠ΅ΡΡΠΎΡΠΎΠ½Π½Π΅Π΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·Ρ Π΄Π°Π½Π½ΡΡ
, Π° ΡΠ°ΠΊΠΆΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ², ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ
ΠΎΠ·Π΅ΡΠ° Π΄Π°Π½Π½ΡΡ
. ΠΠ²ΡΠΎΡΡ β Π’ΠΎΠΌΠ΅Ρ Π¨ΠΈΡΠ°Π½, ΠΠΆΠ΅ΠΉΡΠΎΠ½ Π₯ΡΡΠ· ΠΈ ΠΠ»Π΅ΠΊΡ ΠΠ΅ΡΡΠ΅Π΄ β ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Apache Iceberg, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ½ΠΎΡΡΡ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ΅ΠΌΡ ΠΊΠ½ΠΈΠ³ΠΈ:
β ΠΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ°Π±Π»ΠΈΡ Apache Iceberg ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΈΡ
ΡΡΡΡΠΊΡΡΡΡ.
β ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Iceberg.
β ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π±Π»ΠΈΡ Iceberg Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
β ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Iceberg Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ Π΄Π²ΠΈΠΆΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Apache Spark, Apache Flink ΠΈ Dremio.
ΠΠ½ΠΈΠ³Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ², ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΡ
Π±Π°Π·ΠΎΠ²ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ·Π΅ΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
, ΡΡΡΠ΅ΠΌΡΡΠΈΡ
ΡΡ ΡΠ³Π»ΡΠ±ΠΈΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π½Π°Π²ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Apache Iceberg.
π¬ Π§ΡΠΎ Π³ΠΎΠ²ΠΎΡΡΡ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ:
Π§ΠΈΡΠ°ΡΠ΅Π»ΠΈ ΠΎΡΠΌΠ΅ΡΠ°ΡΡ, ΡΡΠΎ ΠΊΠ½ΠΈΠ³Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΡΠ΅ΡΡΡΡΠΎΠΌ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ
, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠ±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π½Π°Π½ΠΈΠΉ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅ΡΠ΅Π½Π·Π΅Π½ΡΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°ΡΡ, ΡΡΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ΅Π½ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² Π±Π΅Π· ΠΎΠΏΡΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ·Π΅ΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
, Π½ΠΎ Π΄Π»Ρ ΠΎΠΏΡΡΠ½ΡΡ
ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Apache Iceberg.
β ΠΠ»ΡΡΡ:
β ΠΠ½ΠΈΠ³Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΡΠ°Π±ΠΎΡΡ Iceberg.
β ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ ΡΠΎΠ²Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π½Π°Π½ΠΈΠΉ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
β ΠΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΠΈ ΠΈ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
β ΠΠΈΠ½ΡΡΡ:
β ΠΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ»ΠΎΠΆΠ΅Π½ Π΄Π»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ° Π² ΡΡΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
β ΠΠ΅ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Apache Iceberg Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡ
ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
.
π ΠΠ± Π°Π²ΡΠΎΡΠ°Ρ
:
Π’ΠΎΠΌΠ΅Ρ Π¨ΠΈΡΠ°Π½ β ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡ ΠΏΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Dremio, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΡΡΠ΅ΠΉΡΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ
Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΠΆΠ΅ΠΉΡΠΎΠ½ Π₯ΡΡΠ· β Π΄ΠΈΡΠ΅ΠΊΡΠΎΡ ΠΏΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π² Dremio, ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠ½Π΅Π³ΠΎ ΠΎΠΏΡΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ ΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΠ»Π΅ΠΊΡ ΠΠ΅ΡΡΠ΅Π΄ β ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΎΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π² Dremio, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
ΠΡΠΏΠΈΡΡ ΠΊΠ½ΠΈΠ³Ρ