Skip to content
6 / 15

Catalyst ΠΈ Tungsten: Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ Π΄Π΅Π»Π°Π΅Ρ‚ с вашим ΠΊΠΎΠ΄ΠΎΠΌ

Catalyst β€” ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ запросов, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ваш ΠΊΠΎΠ΄ Π² ΠΏΠ»Π°Π½ выполнСния Π·Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ шага: Ρ€Π°Π·Π±ΠΎΡ€ ΠΈ связываниС ΠΈΠΌΡ‘Π½ с источниками (analyzed plan), ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ (optimized plan), Π²Ρ‹Π±ΠΎΡ€ физичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² (physical plan), гСнСрация ΠΊΠΎΠ΄Π°. Π“Π»Π°Π²Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ примСняСт: ΠΏΡ€ΠΎΡ‚Π°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚ΠΎΠ² β€” Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΡƒΠ΅Π·ΠΆΠ°Π΅Ρ‚ Π² источник, ΠΈ Parquet ΠΎΡ‚Π΄Π°Ρ‘Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ строки; отсСчСниС ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ β€” Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ поля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ; свёртка констант, устранСниС Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠΉ, пСрСупорядочиваниС Π΄ΠΆΠΎΠΉΠ½ΠΎΠ² ΠΏΠΎ ΠΎΡ†Π΅Π½ΠΊΠ°ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ². Tungsten β€” слой выполнСния: ΠΎΠ½ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎ внСдиспСтчСрной Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ памяти вмСсто Java-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ снимаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ со сборщика мусора, ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Java-ΠΊΠΎΠ΄ для Ρ†Π΅Π»ΠΎΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² (whole-stage codegen), убирая Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄: DataFrame API ΠΈ Spark SQL ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Π° Π²ΠΎΡ‚ Python UDF для Catalyst β€” Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ ящик, Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ оптимизация останавливаСтся.

Catalyst ΠΈ Tungsten: Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ Π΄Π΅Π»Π°Π΅Ρ‚ с вашим ΠΊΠΎΠ΄ΠΎΠΌ | JScriptiser