Apache Iceberg
Apache Iceberg β ΡΡΠΎ ΠΎΡΠΊΡΡΡΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΡΠ°Π±Π»ΠΈΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ
Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ACID-ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΡΠ²ΠΎΠ»ΡΡΠΈΠΈ ΡΡ
Π΅ΠΌΡ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π°Π½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π΄Π²ΠΈΠΆΠΊΠ°ΠΌΠΈ.
Π€ΠΎΡΠΌΠ°Ρ ΡΠ°Π±Π»ΠΈΡ ΡΡΠΎ ΡΠ»ΠΎΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΡΠ½ΠΎΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ Hive Π² Hive Metastore Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΏΠΊΠΈ Π² HDFS ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ. Iceberg π§ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈΠ· Avro ΠΈ JSON ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ.
Β«Π€ΠΎΡΠΌΠ°Ρ ΡΠ°Π±Π»ΠΈΡ β ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΈΜΠ»ΠΎΠ² Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΡ Π² Π²ΠΈΠ΄Π΅ Π΅Π΄ΠΈΠ½ΠΎΠΈΜ Β«ΡΠ°Π±Π»ΠΈΡΡΒ». Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ²Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ Β«ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΡΠΎΠΈΜ ΡΠ°Π±Π»ΠΈΡΠ΅?Β».Β» (Π¨ΠΈΡΠ°Π½ ΠΈ Π΄Ρ., 2024, p. 40)
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° iceberg ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ Trino ΠΈΠ»ΠΈ Spark.
NOTE
ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Iceberg ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ Spark!
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Apache Iceberg
Π‘Π»ΠΎΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ avro ΠΈ json ΡΠ°ΠΉΠ»Ρ Ρ ΠΌΠ΅ΡΠΎΠΉ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π‘Π»ΠΎΠΉ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ . ΠΡΠ΅Π³ΠΎ ΠΆΠ΅ ΡΠ»ΠΎΡ ΡΡΠΈ:
- Child:: Π‘Π»ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°
- Child:: Π‘Π»ΠΎΠΉ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
- Child:: Π‘Π»ΠΎΠΉ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
- Child:: Branches Iceberg. Pyspark