Data Science بالعربي

أدوات هتغير حياتك كعالم بيانات - 2


Listen Later

يدور موضوع الحلقة حول ثلاث أدوات "ثقيلة" ومتقدمة تهدف إلى إدارة البيانات الضخمة

(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

...more
View all episodesView all episodes
Download on the App Store

Data Science بالعربيBy Mohamed Abdel Salam