اسپارک ۴.۲ منتشر شد: متریک ویو، جستوجوی برداری و CDC خودکار
خلاصهٔ کاملتر
آپاچی اسپارک ۴.۲ منتشر شد و به گفتهٔ تیم Databricks، این نسخه بخش بزرگتری از استک مدرن داده و AI رو به داخل خود موتور میبره. چهار محور اصلیش اینهان: تعریف یکبارهٔ حقیقت با متریک ویو، دسترسی به اسپارک از همهجا، تحلیل AI-محور داخل SQL، و جابهجایی امن دادهٔ در حال تغییر.
مهمترین قابلیت شاید متریک ویو باشه که یک لایهٔ معنایی بومی به Spark SQL اضافه میکنه. دلیلش اینه که خیلی از متریکهای مهم جمعپذیر نیستن: نسبتها، شمارشهای یکتا و نرخ ماندگاری وقتی هر مصرفکننده فرمول رو در دانهبندی متفاوتی بازنویسی میکنه، جواب غلط میدن. با متریک ویو، ابعاد و سنجهها شیء درجهیک میشن و موتور معنای تجمیع رو حفظ میکنه — یعنی داشبورد، ابزار BI و ایجنت AI همه از یک تعریف واحد استفاده میکنن.
در سمت دسترسی، Spark Connect کلاینت رو با پروتکلی مبتنی بر gRPC و Arrow از سرور جدا میکنه: کلاینت پلن منطقی میسازه، سرور تحلیل و اجرا میکنه و نتیجه بهشکل دستههای Arrow برمیگرده، بدون اینکه کلاینت به رانتایم کامل اسپارک یا JVM هممحل نیاز داشته باشه. تو این نسخه سازگاری با Spark Classic بیشتر شده؛ از جمله سازگاری بهتر RDD API، ورودی DataFrame به spark.read.* و پشتیبانی از حالت کلاستر YARN.
مسیر پایتون هم Arrow-first شده: اجرای بهینهشدهٔ UDFهای پایتون با Arrow حالا بهصورت پیشفرض فعاله، پس UDFهای موجود بدون بازنویسی کد از مسیر ستونی سریعتر استفاده میکنن، و Pandas 3 هم پشتیبانی میشه. جالبتر اینکه با Arrow C Data Interface و پروتکل PyCapsule، دیتافریمهای اسپارک میتونن بدون کپی و سریالسازی به ابزارهای Arrow-native مثل Polars یا DuckDB منتقل بشن.
در Spark SQL چند ابتدایی تازه اضافه شده که مستقیم به کاربردهای AI وصله: توابع فاصله و شباهت برداری، نرمالسازی و تجمیع بردار، و NEAREST BY که یک join رتبهبندی top-K برای تطبیق مبتنی بر فاصلهست. اینها بازیابی، توصیهگر، تطبیق موجودیت و تولید کاندید رو در مقیاس ممکن میکنن. کنارش نوعهای GEOMETRY و GEOGRAPHY و توابع ST_* تحلیل مکانی رو بدون افزونهٔ خارجی میسر کردن.
چند اضافهٔ کاربردی دیگهٔ SQL: امکان فراخوانی صریح توابع داخلی با پیشوند SYSTEM.BUILTIN برای رفع ابهام با توابع کاربر، مسیر جستوجوی SQL با SET PATH، پشتیبانی از کرسر (DECLARE/OPEN/FETCH/CLOSE) برای پردازش سطربهسطر داخل خود SQL، و مواردی مثل QUALIFY، time_bucket و IGNORE NULLS.
برای دادهٔ در حال تغییر، Auto CDC وارد Spark Declarative Pipelines شده و پردازش SCD نوع ۱ رو درجهیک میکنه. قبلش مصرف یک فید تغییر و اعمالش روی جدول مقصد به منطق merge دستی نیاز داشت که با حذفها و رویدادهای خارج از ترتیب راحت پیچیده و پرخطا میشد. حالا کاربر فقط تنظیم میکنه رویدادهای CDC چطور جدول مقصد رو بهروز کنن. در Data Source V2 هم CDC درجهیک اضافه شده و با کلاز جدید CHANGES قابل کوئری گرفتنه.
در استریمینگ، Real-Time Mode که تأخیر سرتاسری در حد میلیثانیه میده حالا به PySpark هم رسیده؛ فعلاً برای کوئریهای بدون حالت و بدون UDF پایتون. پشتیبانی باحالت از RTM در دست کاره و زیر SPARK-54699 دنبال میشه. در نهایت، رابط وب اسپارک با Bootstrap 5 و حالت تیره بازطراحی شده، پشتیبانی از JDK 25 اضافه شده و این نسخه حاصل بیش از ۱۹۰۰ کامیت از بیش از ۲۶۰ مشارکتکنندهست.
نکات کلیدی:
- متریک ویو لایهٔ معنایی بومی به Spark SQL میاره تا تعریف متریکها یکی بمونه
- توابع شباهت برداری و NEAREST BY بازیابی و توصیهگر رو وارد SQL میکنن
- نوعهای GEOMETRY و GEOGRAPHY تحلیل مکانی رو بدون افزونه ممکن کردن
- UDF پایتون بهصورت پیشفرض از مسیر Arrow اجرا میشه
- Auto CDC و کلاز CHANGES پردازش دادهٔ در حال تغییر رو ساده میکنن
- Real-Time Mode با تأخیر میلیثانیهای به PySpark رسید




