من هم مهندسو البيانات وكيف يصبحون واحدًا؟

مرحبا مجددا! عنوان المقال يتحدث عن نفسه. قبل بدء الدورة مهندس بيانات نحن نقدم لمعرفة من هم مهندسو البيانات هؤلاء. تحتوي المقالة على الكثير من الروابط المفيدة. قراءة سعيدة.

من هم مهندسو البيانات وكيف يصبحون واحدًا؟

دليل بسيط حول كيفية اللحاق بموجة هندسة البيانات ومنعها من جرك إلى الهاوية.

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

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

لذلك دعونا نبدأ!

ما هي هندسة البيانات؟

بصراحة لا يوجد تفسير أفضل من هذا:

"يمكن للعالم اكتشاف نجم جديد ، لكنه لا يستطيع إنشاء نجم. سيتعين عليه أن يطلب من مهندس أن يفعل ذلك من أجله ".

- جوردون ليندسي جليج

وبالتالي ، فإن دور مهندس البيانات مهم للغاية.

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

من هم مهندسو البيانات وكيف يصبحون واحدًا؟

ماذا يفعل مهندس البيانات؟

مع ظهور البيانات الضخمة ، تغير نطاق المسؤولية بشكل كبير. إذا كتب هؤلاء الخبراء سابقًا استعلامات SQL كبيرة وبيانات مقطرة باستخدام أدوات مثل Informatica ETL و Pentaho ETL و Talend ، فقد زادت الآن متطلبات مهندسي البيانات.

معظم الشركات التي لديها وظائف شاغرة لمنصب مهندس بيانات لديها المتطلبات التالية:

  • معرفة ممتازة بـ SQL و Python.
  • خبرة في الأنظمة الأساسية السحابية ، ولا سيما Amazon Web Services.
  • يفضل معرفة جافا / سكالا.
  • فهم جيد لقواعد بيانات SQL و NoSQL (نمذجة البيانات وتخزين البيانات).

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

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

عمالقة تكنولوجيا المعلومات مثل Google أو Amazon أو Facebook أو Dropbox لديهم متطلبات أعلى: معرفة Python أو Java أو Scala.

  • خبرة في استخدام البيانات الضخمة: Hadoop و Spark و Kafka.
  • معرفة الخوارزميات وهياكل البيانات.
  • فهم أساسيات الأنظمة الموزعة.
  • ستكون الخبرة مع أدوات تصور البيانات مثل Tableau أو ElasticSearch إضافة كبيرة.

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

مهندسو البيانات مقابل. علماء البيانات

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

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

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

هل مهندس البيانات مطلوب أكثر من عالم البيانات؟

- نعم ، لأنه قبل أن تتمكن من صنع كعكة الجزر ، يجب عليك أولاً جمع الجزر وتقشيره وتخزينه!

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

ولكن هنا ميزة مهندس البيانات:

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

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

المعلومات الأساسية التي يجب أن يعرفها مهندس البيانات

من هم مهندسو البيانات وكيف يصبحون واحدًا؟

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

ما هي الخطوات الأولى؟

يجب أن يكون لديك فكرة عامة عن ماهية.

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

على سبيل المثال ، تستند قواعد بيانات B-tree SQL التقليدية إلى بنية بيانات B-Tree ، وكذلك في المستودعات الموزعة الحديثة ، و LSM-Tree والتعديلات الأخرى لجداول التجزئة.

* تستند هذه الخطوات إلى مقال رائع أديليا خشتاموفا. لذا ، إذا كنت تعرف الروسية ، ادعم هذا المؤلف واقرأ منصبه.

1. الخوارزميات وهياكل البيانات

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

بالإضافة إلى ذلك ، لا تنس العمل الكلاسيكي على خوارزميات توماس كورمين - مقدمة في الخوارزميات. هذا هو المرجع المثالي عندما تحتاج إلى تحسين ذاكرتك.

  • لتحسين استخدام المهارات الخاصة بك ليت كود.

يمكنك أيضًا الغوص في عالم قواعد البيانات باستخدام مقاطع فيديو Carnegie Mellon Youtube المذهلة هذه:

2. تعلم SQL

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

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

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

  • الأمازون الأحمر
  • اتش بي فيرتيكا
  • Oracle
  • ملقم SQL

… واشياء أخرى عديدة.

لتحليل طبقة كبيرة من البيانات المخزنة في أنظمة موزعة مثل HDFS ، تم اختراع محركات SQL: Apache Hive و Impala وما إلى ذلك. انظر ، إنها لا تذهب إلى أي مكان.

كيف تتعلم لغة SQL؟ فقط افعلها في الممارسة.

للقيام بذلك ، أوصي بأن تتعرف على برنامج تعليمي ممتاز ، والذي ، بالمناسبة ، خالٍ من وضع التحليلات.

  1. وسيط SQL
  2. ربط البيانات في SQL

الميزة المميزة لهذه الدورات هي وجود بيئة تفاعلية يمكنك من خلالها كتابة وتنفيذ استعلامات SQL مباشرة في المتصفح. الموارد SQL الحديثة لن تكون زائدة عن الحاجة. ويمكنك تطبيق هذه المعرفة على مهام Leetcode في قسم قاعدة البيانات.

3. البرمجة بلغة بايثون وجافا / سكالا

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

  • أباتشي كافكا (سكالا)
  • Hadoop ، HDFS (جافا)
  • اباتشي سبارك (سكالا)
  • أباتشي كاساندرا (جافا)
  • HBase (جافا)
  • خلية اباتشي (جافا)

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

للغوص في لغة سكالا ، يمكنك القراءة البرمجة في سكالا من مؤلف اللغة. أيضًا ، نشر Twitter دليلًا تمهيديًا جيدًا - مدرسة سكالا.

أعتقد أنه فيما يتعلق ببايثون يجيد لغة Python أفضل كتاب متوسط ​​المستوى.

4. أدوات للعمل مع البيانات الضخمة

فيما يلي قائمة بالأدوات الأكثر شيوعًا في عالم البيانات الضخمة:

  • أباتشي سبارك
  • اباتشي كافكا
  • أباتشي هادوب (HDFS ، HBase ، خلية)
  • أباتشي كاساندرا

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

5. المنصات السحابية

من هم مهندسو البيانات وكيف يصبحون واحدًا؟

توجد معرفة بمنصة سحابية واحدة على الأقل في قائمة المتطلبات الأساسية للمتقدمين لشغل منصب مهندس البيانات. يفضل أصحاب العمل Amazon Web Services ، تليها Google Cloud Platform ، ويغلق Microsoft Azure المراكز الثلاثة الأولى.

يجب أن تكون على دراية بـ Amazon EC2 و AWS Lambda و Amazon S3 و DynamoDB.

6. الأنظمة الموزعة

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

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

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

7. خطوط أنابيب البيانات

من هم مهندسو البيانات وكيف يصبحون واحدًا؟

خطوط أنابيب البيانات هي شيء لا يمكنك العيش بدونه كمهندس بيانات.

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

لتلخيص: قائمة مراجعة مهندس البيانات الأساسية

من هم مهندسو البيانات وكيف يصبحون واحدًا؟

باختصار ، مطلوب فهم جيد لما يلي:

  • نظم المعلومات؛
  • تطوير البرمجيات (Agile ، DevOps ، تقنيات التصميم ، SOA) ؛
  • الأنظمة الموزعة والبرمجة المتوازية ؛
  • أساسيات قواعد البيانات - التخطيط والتصميم والتشغيل واستكشاف الأخطاء وإصلاحها ؛
  • تجارب التصميم - اختبارات A / B لإثبات المفاهيم وتحديد الموثوقية وأداء النظام وتطوير مسارات قوية لتقديم حلول جيدة بسرعة.

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

وأخيرًا ، الشيء الأخير ولكن المهم جدًا الذي أريد أن أقوله.

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

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

من هم مهندسو البيانات وكيف يصبحون واحدًا؟

ونعم ، لا تنس تجنب الإرهاق والراحة. وهذا هو أيضا مهم جدا. حظ سعيد!

كيف تحب المقال أيها الأصدقاء؟ نحن ندعوك إلى ندوة مجانية على الويبالتي ستقام اليوم في الساعة 20.00. أثناء الندوة عبر الويب ، سنناقش كيفية بناء نظام معالجة بيانات فعال وقابل للتطوير لشركة صغيرة أو شركة ناشئة بأقل تكلفة. كممارسة ، دعنا نتعرف على أدوات معالجة بيانات Google Cloud. أرك لاحقًا!

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

إضافة تعليق