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

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

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

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

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

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

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

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

www.monster.com

علماء البيانات – 21416 وظيفة شاغرة
جودة البيانات – 41104 وظيفة شاغرة

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

www.dice.com

علماء البيانات – 404 وظيفة شاغرة
جودة البيانات – الوظائف الشاغرة 2020

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

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

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

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

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

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

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

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

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

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

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

تاريخي

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

أدوات

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

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

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

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

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

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

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

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

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

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

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

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

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

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

وصلات مفيدة

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

اختتام

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

المصدر: www.habr.com

إضافة تعليق