اختبار البيانات الكبيرة والصغيرة: الاتجاهات والنظرية وقصتي

مرحبًا بالجميع ، اسمي ألكسندر ، وأنا مهندس جودة بيانات يتحقق من البيانات لمعرفة جودتها. ستناقش هذه المقالة كيف جئت إلى هذا ولماذا في 2020 اتضح أن اتجاه الاختبار هذا كان على قمة موجة.



الاتجاه العالمي


يشهد عالم اليوم ثورة تكنولوجية أخرى ، أحد جوانبها هو استخدام البيانات المختلفة من قبل الشركات المختلفة للترويج لمبيعات الحدافة الخاصة بها والأرباح والعلاقات العامة. يبدو أن وجود بيانات (جودة) جيدة ، بالإضافة إلى العقول الماهرة التي يمكن أن تجني المال منها (المعالجة الصحيحة والتصور وبناء نماذج التعلم الآلي ، وما إلى ذلك) ، أصبحت مفتاح النجاح للعديد اليوم. إذا كانت الشركات الكبيرة تعمل منذ 15-20 عامًا في عمل مكثف مع تراكم البيانات وتحويلها إلى أموال ، فإن هذا اليوم هو الكثير من الأشخاص العقلانيين تقريبًا.

في هذا الصدد ، قبل عدة سنوات ، بدأت جميع بوابات البحث عن الوظائف في جميع أنحاء العالم مليئة بالوظائف الشاغرة لعلماء البيانات ، نظرًا لأن الجميع كانوا على يقين من أنه من خلال تعيين مثل هذا الاختصاصي في الموظفين ، يمكنك بناء عارضة تعلُّم الآلة ، والتنبؤ بالمستقبل ، وإنشاء "الكم قفزة للشركة. بمرور الوقت ، أدرك الناس أن هذا النهج لا يعمل أبدًا تقريبًا ، نظرًا لأنه بعيدًا عن جميع البيانات التي تقع في أيدي هؤلاء المتخصصين فهي مناسبة لنماذج التدريب.

وبدأت الطلبات من علماء البيانات: "دعونا نشتري المزيد من البيانات من هؤلاء ومن هؤلاء ..." ، "ليس لدينا بيانات كافية ..." ، "نحتاج إلى المزيد من البيانات ويفضل أن تكون عالية الجودة ...". بناءً على هذه الطلبات ، بدأت العديد من التفاعلات بين الشركات التي تمتلك مجموعة بيانات معينة في التوحيد. وبطبيعة الحال ، يتطلب هذا التنظيم الفني لهذه العملية - للاتصال بمصدر البيانات ، وتنزيلها ، والتحقق من أنها محملة بالكامل ، وما إلى ذلك. بدأ عدد هذه العمليات في النمو ، واليوم تلقينا حاجة كبيرة لنوع آخر من المتخصصين - البيانات مهندسو الجودة - أولئك الذين يراقبون تدفق البيانات في النظام (خطوط البيانات) ، وجودة البيانات عند المدخلات والمخرجات ، سوف يستخلصون استنتاجات حول كفاءتهم ونزاهتهم وخصائصهم الأخرى.

جاء إلينا اتجاه مهندسي جودة البيانات من الولايات المتحدة ، حيث لا يوجد أحد في خضم حقبة الرأسمالية المستعرة على استعداد لخسارة معركة البيانات. لقد قدمت أدناه لقطات شاشة من أشهر موقعين للبحث عن عمل في الولايات المتحدة الأمريكية: www.monster.com و www.dice.com - اللتين تعرضان البيانات اعتبارًا من 17 مارس 2020 حسب عدد الوظائف الشاغرة المستلمة ، عن طريق الكلمات الرئيسية: جودة البيانات عالم البيانات.

www.monster.com
علماء البيانات - 21،416 وظيفةجودة البيانات - 41104 وظيفة

www.dice.com
علماء البيانات - 404 وظيفةجودة البيانات - 2020 وظيفة

من الواضح أن هذه المهن لا تتنافس بأي شكل من الأشكال مع بعضها البعض. مع لقطات الشاشة ، أردت فقط توضيح الوضع الحالي في سوق العمل من حيث الطلبات لمهندسي جودة البيانات ، الذين يحتاجون الآن أكثر بكثير من علماء البيانات.

في يونيو 2019 ، قامت شركة EPAM ، استجابةً لاحتياجات سوق تكنولوجيا المعلومات الحديثة ، بتسليط الضوء على جودة البيانات كممارسة منفصلة. أثناء عملهم اليومي ، يدير مهندسو جودة البيانات البيانات ، ويتحققون من سلوكهم في الظروف والأنظمة الجديدة ، ويتحكمون في مدى ملاءمة البيانات ومدى ملاءمتها وملاءمتها. مع كل هذا ، بالمعنى العملي لجودة البيانات ، يكرس المهندسون حقًا القليل من الوقت للاختبار الوظيفي الكلاسيكي ، ولكن هذا يعتمد كثيرًا على المشروع (سأعطي مثالًا أدناه).

لا تقتصر واجبات مهندس جودة البيانات على الفحوصات اليدوية / التلقائية الروتينية "للقيم الفارغة والعد والمبالغ" في جداول قاعدة البيانات ، ولكنها تتطلب فهمًا عميقًا لاحتياجات عمل العميل ، وبالتالي القدرة على تحويل البيانات الحالية إلى معلومات عمل مفيدة.

نظرية جودة البيانات




من أجل تخيل دور هذا المهندس بشكل كامل ، دعنا نكتشف ما هي جودة البيانات نظريًا.

جودة البيانات هي واحدة من مراحل إدارة البيانات (العالم كله الذي سنتركه لك للدراسة بشكل مستقل) وهي مسؤولة عن تحليل البيانات وفقًا للمعايير التالية:


أعتقد أنه لا يستحق فك رموز كل نقطة (نظريًا يطلق عليها "أبعاد البيانات") ، فهي موصوفة جيدًا في الصورة. لكن عملية الاختبار نفسها لا تعني نسخًا صارمًا لهذه العلامات في حالات الاختبار والتحقق منها. في جودة البيانات ، كما هو الحال في أي نوع آخر من الاختبارات ، من الضروري أولاً المضي في متطلبات جودة البيانات المتفق عليها مع المشاركين في المشروع الذين يتخذون قرارات العمل.



اعتمادًا على مشروع جودة البيانات ، يمكن للمهندس القيام بوظائف مختلفة: من جهاز اختبار آلي عادي مع تقييم سطحي لجودة البيانات ، إلى الشخص الذي يقوم بالتنميط العميق وفقًا للمعايير المذكورة أعلاه.



يتم وصف وصف مفصل للغاية لإدارة البيانات وجودة البيانات والعمليات ذات الصلة في كتاب بعنوان "DAMA-DMBOK: هيئة إدارة البيانات للمعرفة: الإصدار الثاني" . أوصي بشدة بهذا الكتاب كمقدمة لهذا الموضوع (ستجد رابطًا له في نهاية المقالة).

قصتي


في صناعة تكنولوجيا المعلومات ، تحولت من اختبار منتج صغير إلى مهندس جودة بيانات رئيسي في EPAM. بعد حوالي عامين من الاختبار ، كان لدي اعتقاد راسخ بأنني قمت بكل أنواع الاختبارات على الإطلاق: الانحدار ، والوظيفة ، والضغط ، والاستقرار ، والأمن ، وواجهة المستخدم ، وما إلى ذلك - وجربت عددًا كبيرًا من أدوات الاختبار ، بعد أن عملت في نفس الوقت بثلاث لغات برمجة: Java ، Scala ، Python.



بالنظر إلى الوراء ، أفهم لماذا تبين أن مجموعة مهاراتي المهنية متنوعة للغاية - لقد شاركت في مشاريع مرتبطة بالعمل مع البيانات ، الكبيرة والصغيرة. هذا ما قادني إلى عالم عدد كبير من الأدوات والفرص للنمو.



لتقدير مجموعة متنوعة من الأدوات والفرص للحصول على المعرفة والمهارات الجديدة ، ما عليك سوى إلقاء نظرة على الصورة أدناه ، والتي تظهر أكثرها شيوعًا في عالم "البيانات والذكاء الاصطناعي".


يتم تجميع هذا النوع من الرسوم التوضيحية سنويًا من قبل أحد أصحاب رأس المال الاستثماري المعروف Matt Turck ، وهو من مواطني تطوير البرمجيات. هنا رابط لمدونته وشركة رأس المال الاستثماري حيث يعمل كشريك.

نمت بسرعة كبيرة بشكل احترافي عندما كنت المختبر الوحيد في المشروع ، أو على الأقل في بداية المشروع. في هذه اللحظة يجب أن تكون مسؤولاً عن عملية الاختبار بأكملها ، وليس لديك فرصة للتراجع ، للأمام فقط. في البداية كانت فزاعة ، ولكن الآن جميع مزايا هذا الاختبار واضحة بالنسبة لي:

  • تبدأ بالتواصل مع الفريق بأكمله أكثر من أي وقت مضى ، حيث لا يوجد وكيل للاتصال: لا مدير اختبار ولا زملاء اختبار.
  • , , .
  • « , », , , .
  • — , , .

مع نمو المشروع بنسبة 100٪ من الوقت ، أصبحت مرشدًا للمختبرين الذين جاؤوا إليه مرة أخرى ، ودربوهم ونقلوا المعرفة التي تعلمتها. في الوقت نفسه ، اعتمادًا على المشروع ، لم أحصل دائمًا على أعلى مستوى من خبراء الاختبار التلقائي من الإدارة وكانت هناك حاجة إما لتدريبهم على التشغيل الآلي (لأولئك الذين يرغبون) أو إنشاء أدوات لاستخدامها في الأنشطة اليومية (أدوات توليد البيانات وتحميلها في النظام ، أداة لإجراء اختبار الحمل / اختبار الاستقرار "سريع" ، وما إلى ذلك).

مثال مشروع محدد


لسوء الحظ ، نظرًا لالتزامات عدم الإفشاء ، لا يمكنني التحدث بالتفصيل عن المشاريع التي عملت عليها ، ولكن سأقدم أمثلة على مهام مهندس جودة البيانات النموذجية في أحد المشاريع.

يتمثل جوهر المشروع في تنفيذ منصة لإعداد البيانات لتدريب نماذج التعلم الآلي بناءً عليها. كان العميل شركة أدوية كبيرة من الولايات المتحدة. من الناحية الفنية ، كانت مجموعة Kubernetes ، ترتفع إلى حالات AWS EC2 ، مع العديد من الخدمات الصغيرة ومشروع EPAM - Legion الأساسي المصدر المفتوح ، وتكييفها مع احتياجات عميل معين (الآن تم تجسيد المشروع باسم odahu ). تم تنظيم عمليات ETL باستخدام Apache Airflow ونقل البيانات منأنظمة عملاء SalesForce في دلاء AWS S3 . بعد ذلك ، تم نشر صورة عامل إرساء لنموذج التعلم الآلي على النظام الأساسي ، والذي تم تدريبه على أحدث البيانات وأنتج توقعات تستند إلى واجهة REST API التي كانت ذات أهمية للأعمال وحل مشاكل معينة.

بصريا ، كل شيء بدا مثل هذا:


كان هناك الكثير من الاختبارات الوظيفية في هذا المشروع ، وبالنظر إلى سرعة تطوير الميزات والحاجة إلى الحفاظ على وتيرة دورة الإصدار (سباقات لمدة أسبوعين) ، كان من الضروري التفكير على الفور في أتمتة اختبار عقد النظام الأكثر أهمية. تم تغطية معظم المنصة نفسها مع Kubernetes من خلال الاختبارات الذاتية التي تم تنفيذها على إطار الروبوت.+ Python ، ولكن يجب أيضًا الحفاظ عليها وتوسيعها. بالإضافة إلى ذلك ، من أجل راحة العميل ، تم إنشاء واجهة المستخدم الرسومية لإدارة نماذج التعلم الآلي المضمنة في مجموعة ، وكذلك القدرة على تحديد مكان ومكان نقل البيانات لتدريب النموذج. استلزم هذا الإضافة الموسعة توسيع عمليات الفحص الوظيفي المؤتمتة ، والتي تم إجراؤها في الغالب من خلال مكالمات REST API وعدد صغير من اختبارات واجهة المستخدم من طرفين. في حوالي خط الاستواء لكل هذه الحركة ، انضم إلينا اختبار يدوي ، قام بعمل ممتاز في قبول اختبار إصدارات المنتج والتواصل مع العميل حول قبول الإصدار التالي. بالإضافة إلى ذلك ، وبسبب ظهور أخصائي جديد ، تمكنا من توثيق عملنا وإضافة بعض الفحوصات اليدوية المهمة جدًا ،التي كان من الصعب تشغيلها تلقائيًا.

وأخيرًا ، بعد أن حققنا الاستقرار من النظام الأساسي وإضافات واجهة المستخدم الرسومية فوقه ، بدأنا في بناء خطوط أنابيب ETL باستخدام Apache Airflow DAGs. تم تنفيذ التحكم الآلي في جودة البيانات من خلال كتابة DAGs Airflow DAGs الخاصة التي فحصت البيانات وفقًا لنتائج عملية ETL. كجزء من هذا المشروع ، كنا محظوظين ، وأتاح لنا العميل الوصول إلى مجموعات بيانات مجهولة الهوية ، قمنا باختبارها. قمنا بفحص سطر البيانات كل سطر للتأكد من توافقه مع الأنواع ، ووجود البيانات المعطلة ، وإجمالي عدد السجلات قبل وبعد ، ومقارنة التحولات التي أجرتها عملية ETL للتجميع ، وتغيير أسماء الأعمدة وغيرها من الأشياء. بالإضافة إلى ذلك ، تم تحجيم عمليات التحقق هذه إلى مصادر بيانات مختلفة ، على سبيل المثال ، بالإضافة إلى SalesForce ، أيضًا على MySQL.

تم التحقق من جودة البيانات النهائية بالفعل على مستوى S3 ، حيث تم تخزينها وكانت جاهزة للاستخدام لتعلم نماذج التعلم الآلي. للحصول على بيانات من ملف CSV النهائي الموجود على دلو S3 والتحقق من صحته ، تم كتابة الرمز باستخدام عميل boto3 .

أيضًا ، من جانب العميل ، كان هناك حاجة لتخزين جزء من البيانات في دلو S3 ، وجزء في آخر. لهذا ، كان مطلوبًا أيضًا كتابة تدقيقات إضافية للتحقق من موثوقية مثل هذا النوع.

خبرة عامة في المشاريع الأخرى


مثال على القائمة الأكثر عمومية لأنشطة جودة البيانات للمهندس:

  • قم بإعداد بيانات الاختبار (صالحة / غير صالحة / كبيرة / صغيرة) من خلال أداة آلية.
  • قم بتنزيل مجموعة البيانات المعدة للمصدر الأصلي وتحقق من جاهزيتها للاستخدام.
  • ابدأ عمليات ETL لمعالجة مجموعة بيانات من تخزين المصدر إلى النهائي أو الوسيط باستخدام مجموعة محددة من الإعدادات (إن أمكن ، قم بتعيين معلمات قابلة للتكوين لمهمة ETL).
  • تحقق من البيانات التي تتم معالجتها بواسطة عملية ETL لجودتها وامتثالها لمتطلبات العمل.

في الوقت نفسه ، لا ينبغي أن يكون التركيز الرئيسي لعمليات الفحص فقط على حقيقة أن تدفق البيانات في النظام قد تم التوصل إليه ووصل إلى النهاية (وهو جزء من الاختبار الوظيفي) ، ولكن بشكل أساسي على التحقق من البيانات والتحقق من صحتها للامتثال للمتطلبات المتوقعة ، وتحديد الحالات الشاذة و اشياء اخرى.

أدوات


يمكن أن تكون إحدى تقنيات التحكم في البيانات هذه هي تنظيم عمليات الفحص التسلسلي في كل مرحلة من مراحل معالجة البيانات ، ما يسمى "سلسلة البيانات" في الأدبيات - التحكم في البيانات من المصدر إلى نقطة الاستخدام النهائي. غالبًا ما يتم تنفيذ عمليات التحقق هذه عن طريق كتابة استعلامات التحقق من صحة SQL. من الواضح أن هذه الطلبات يجب أن تكون خفيفة الوزن قدر الإمكان وأن تتحقق من الأجزاء الفردية لجودة البيانات (البيانات الوصفية للجداول ، الأسطر الفارغة ، القيم الفارغة ، الأخطاء في البنية - عمليات التحقق من السمة الأخرى المطلوبة).

في حالة اختبار الانحدار ، الذي يستخدم مجموعات بيانات جاهزة (غير قابلة للتغيير / قابلة للتغيير قليلاً) ، يمكن تخزين قوالب جاهزة لفحص البيانات مقابل الجودة (أوصاف البيانات الوصفية للجدول المتوقعة ؛ يمكن اختيار العناصر الصغيرة المنتقاة التي يمكن اختيارها عشوائيًا أثناء الاختبار ، في رمز الاختبار التلقائي) وما إلى ذلك وهلم جرا).

أيضا أثناء الاختبار، عليك أن تكتب العمليات ETL اختبار باستخدام الأطر مثل أباتشي تدفق الهواء، سبارك أباتشي أو أداة سحابة الصندوق الأسود مثل GCP Dataprep ، GCP تدفق البياناتوما إلى ذلك وهلم جرا. هذا الظرف يجعل مهندس الاختبار يغمس نفسه في مبادئ الأدوات المذكورة أعلاه وحتى أكثر فعالية في كيفية إجراء الاختبار الوظيفي (على سبيل المثال ، عمليات ETL الموجودة في المشروع) واستخدامها للتحقق من البيانات. على وجه الخصوص ، لدى Apache Airflow عوامل تشغيل جاهزة للعمل مع قواعد البيانات التحليلية الشائعة ، على سبيل المثال GCP BigQuery . تم بالفعل توضيح المثال الأساسي لاستخدامه هنا ، لذلك لن أكرر ذلك.

بالإضافة إلى الحلول الجاهزة ، لا أحد يمنعك من بيع تقنياتك وأدواتك. لن يكون هذا مفيدًا للمشروع فحسب ، ولكن أيضًا لمهندس جودة البيانات نفسه ، مما يعزز آفاقه الفنية ومهارات التشفير.

كيف يعمل في مشروع حقيقي


من الأمثلة الجيدة للفقرات الأخيرة حول "سلسلة البيانات" و ETL والفحوصات المنتشرة في كل مكان العملية التالية من أحد المشاريع الحقيقية:



هنا ، تقع بيانات مختلفة (يتم إعدادها بشكل طبيعي من قبلنا) في "مدخل" لنظامنا: صالح ، غير صالح ، مختلط ، إلخ. ن. ، ثم يتم تصفيتها وينتهي بها الأمر في وحدة تخزين وسيطة ، ثم ينتظرون مرة أخرى سلسلة من التحولات ويتم وضعها في وحدة تخزين نهائية ، والتي بدورها سيتم تنفيذ التحليلات ورسم الخرائط والبيانات والبحث عن رؤى الأعمال. في مثل هذا النظام ، دون التحقق عمليًا من تشغيل عمليات ETL ، نركز على جودة البيانات قبل التحويلات وبعدها ، وكذلك على التحليلات.

تلخيص ما سبق ، بغض النظر عن الأماكن التي عملت فيها ، فقد شاركت في كل مكان في مشاريع البيانات التي تجمع بين الميزات التالية:

  • فقط من خلال الأتمتة يمكنك التحقق من بعض الحالات وتحقيق دورة إصدار صديقة للأعمال.
  • يعد المختبر في مثل هذا المشروع أحد أكثر أعضاء الفريق احترامًا ، لأنه يجلب فوائد كبيرة لكل مشارك (اختبار سريع ، بيانات جيدة من عالم البيانات ، تحديد العيوب في المراحل المبكرة).
  • لا يهم ما إذا كنت تعمل على أجهزتك أو في الغيوم - يتم تجريد جميع الموارد في مجموعة مثل Hortonworks ، Cloudera ، Mesos ، Kubernetes ، إلخ.
  • تعتمد المشاريع على نهج الخدمات الصغيرة ، وتسود الحوسبة الموزعة والمتوازية.

ألاحظ أنه أثناء الاختبار في مجال جودة البيانات ، ينقل اختصاصي الاختبار تركيزه المهني إلى رمز المنتج والأدوات المستخدمة.

السمات المميزة لاختبار جودة البيانات


بالإضافة إلى ذلك ، ألقيت بنفسي الضوء على ما يلي (سأجري حجزًا فوريًا ومعممًا بشكل حصري) يتميز بميزات الاختبار في مشاريع (أنظمة) البيانات (البيانات الكبيرة) والمجالات الأخرى:


روابط مفيدة


  1. النظرية: DAMA-DMBOK: هيئة إدارة البيانات للمعرفة: الطبعة الثانية .
  2. مركز تدريب  EPAM 
  3. المواد الموصى بها لمهندس جودة البيانات المبتدئ:

    1. دورة مجانية Stepik:  مقدمة لقواعد البيانات
    2. دورة في التعلم على LinkedIn:  أسس علوم البيانات: هندسة البيانات .
    3. مقالات:

    4. فيديو:


استنتاج


تعد جودة البيانات مجالًا واعدًا للغاية ، حيث يعني أن يكون جزءًا منه جزءًا من شركة ناشئة. بمجرد دخولك في جودة البيانات ، ستغرق في عدد كبير من التقنيات الحديثة المطلوبة ، ولكن الأهم من ذلك - سيكون لديك فرص هائلة لتوليد وتنفيذ أفكارك. يمكنك استخدام نهج التحسين المستمر ليس فقط في المشروع ، ولكن أيضًا لنفسك ، بالتطور المستمر كأخصائي.

All Articles