يدور موضوع الحلقة حول ثلاث أدوات "ثقيلة" ومتقدمة تهدف إلى إدارة البيانات الضخمة
(Big Data) وضمان جودتها: PySpark، وDVC، وGreat Expectations.1. PySpark (سيد البيانات الضخمة)
- الغرض الرئيسي: معالجة البيانات الضخمة (Petabytes) من خلال المعالجة الموزعة (Distributed Computing) والتوسع (Scaling).
- مقارنة مع Pandas: بينما تعمل Pandas على جهاز واحد وتتقيد بالذاكرة العشوائية (RAM)، يقوم PySpark بتوزيع البيانات والعمليات على عنقود (Cluster) من الأجهزة.
- المميزات الأساسية:
- التسامح مع الأخطاء (Fault Tolerance): يستخدم مفهوم RDD (Resilient Distributed Datasets) لاسترجاع البيانات المفقودة تلقائياً عبر تتبع Lineage Graph للعمليات.
- In-Memory Computing: يفضل إبقاء البيانات في الذاكرة لزيادة السرعة (أسرع بـ 100 مرة في بعض الحالات).
- الدمج مع Pandas: يمكن استخدام بيئة Pandas المألوفة داخل PySpark من خلال:
- Pandas API on Spark: لكتابة كود Pandas عادي يتم تنفيذه بواسطة محرك Spark القوي.
- Pandas UDFs (Vectorized UDFs): لتوزيع تنفيذ الدوال المعقدة على Cluster باستخدام تقنية Apache Arrow.
2. DVC (Data Version Control)
- الغرض الرئيسي: هو تخزين وتتبع نسخ (Versioning) الملفات الكبيرة والبيانات الخام، وهي مهمة لا يستطيع Git القيام بها بكفاءة.
- الفرق بين DVC وMLflow: هما أداتان مكملتان لبعضهما:
- MLflow: هو "كراسة النتائج" ويهتم بتسجيل الـ Metrics والـ Parameters والـ Model النهائي (Tracking).
- DVC: هو "المخزن الذكي" ويهتم بتخزين "تاريخ" تغيّر البيانات (Versioning).
- التكامل: يقوم الفريق الشاطر باستخدام DVC لأخذ "Snapshot" للداتا، وتسجيل الـ Hash الناتج في MLflow كـ Parameter، مما يضمن قابلية استنساخ النتائج الكاملة (Reproducibility).
3. Great Expectations (حارس جودة البيانات)
- الغرض الرئيسي: بناء "Unit Tests" لجودة البيانات، حيث يقوم بتطبيق مجموعة من التوقعات (Expectations) للتحقق من سلامة البيانات قبل دخولها لنموذج التعلم الآلي.
- أمثلة على التوقعات:
- Range Validation: التحقق من أن القيم تقع ضمن نطاق محدد (مثل الأعمار بين 18 و 100).
- Null Counts: التأكد من أن نسبة القيم المفقودة (Nulls) لم تتجاوز حداً معيناً.
- Distribution Matching: التحقق من أن توزيع البيانات اليوم لم يختلف بشكل جذري عن الأمس (Data Drift).
- المميزات الإضافية:
- Data Docs: يقوم بإنشاء صفحات HTML مرئية تُظهر حالة جودة البيانات (النجاح والفشل) لإرسالها للمديرين.
- Automated Documentation: تتحول التوقعات المكتوبة تلقائياً إلى Documentation، مما يساعد أعضاء الفريق الجدد على فهم طبيعة البيانات.
Facebook page: https://www.facebook.com/Data-Science-Belarabi-101963665978677
Linkedin Page: Data Science بالعربي: Company Page Admin | LinkedIn