ما هو Apache Spark في Azure HDInsight

Apache Spark إطار معالجة متوازٍ يدعم المعالجة داخل الذاكرة لتعزيز أداء تطبيقات تحليل البيانات الضخمة. Apache Spark في Azure HDInsight هو تطبيق Microsoft لـ Apache Spark في السحابة، وهو واحد من العديد من عروض Spark في Azure.

  • يجعل Apache Spark في Azure HDInsight من السهل إنشاء مجموعات Spark وتكوينها، مما يسمح لك بتخصيص بيئة Spark كاملة واستخدامها داخل Azure.

  • تستخدم تجمعات Spark في Azure Synapse Analytics تجمعات Spark المدارة للسماح بتحميل البيانات ونمذجتها ومعالجتها وتوزيعها للحصول على رؤى تحليلية داخل Azure.

  • يستخدم Apache Spark على Azure Databricks مجموعات Spark لتوفير مساحة عمل تفاعلية تمكن التعاون بين المستخدمين من قراءة البيانات من مصادر بيانات متعددة وتحويلها إلى رؤى ثاقبة.

  • تسمح لك أنشطة Spark في Azure Data Factory باستخدام تحليلات Spark في مسار البيانات، باستخدام مجموعات Spark عند الطلب أو الموجودة مسبقًا.

باستخدام Apache Spark في Azure HDInsight، يمكنك تخزين بياناتك ومعالجتها جميعاً داخل Azure. تتوافق مجموعات Spark في HDInsight مع تخزين Azure Blob أو Azure Data Lake Storage Gen1 أو Azure Data Lake Storage Gen2، مما يسمح لك بتطبيق معالجة Spark على مخازن البيانات الحالية.

Spark: a unified framework.

لبدء استخدام Apache Spark في Azure HDInsight، اتبع البرنامج التعليمي لإنشاء مجموعات HDInsight Spark.

للحصول على معلومات حول Apache Spark وكيفية تفاعله مع Azure، تابع قراءة المقالة أدناه.

للحصول على المكونات ومعلومات الإصدار، راجع مكونات Apache Hadoop والإصدارات في Azure HDInsight.

ما هو Apache Spark؟

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

Traditional MapReduce vs. Spark.

تقدم مجموعات Spark في HDIneate خدمة Spark مدارة بالكامل. يتم سرد فوائد إنشاء مجموعة Spark في HDInsight هنا.

الميزة ‏‏الوصف
سهولة الإنشاء يمكنك إنشاء مجموعة Spark جديدة في HDInsight في دقائق باستخدام مدخل Azure أو Azure PowerShell أو HDInsight .NET SDK. انظر البدء مع مجموعة Apache Spark في HDInsight.
سهولة الاستخدام إن مجموعة Spark في HDInsight تشمل Jupyter Notebooks وApache Zeppelin Notebooks. يمكنك استخدام دفاتر الملاحظات هذه لمعالجة البيانات التفاعلية والتصور. راجع استخدام أجهزة الكمبيوتر المحمولة Apache Zeppelin باستخدام Apache Spark وبيانات Load وتشغيل الاستعلامات على مجموعة Apache Spark.
واجهة برمجة تطبيقات REST تشمل مجموعات Spark في HDInsightApache Livy، وهو خادم وظائف Spark يستند إلى REST API لإرسال الوظائف ومراقبتها عن بعد. راجع استخدام Apache Spark REST API لإرسال وظائف بعيدة إلى مجموعة HDInsight Spark.
الحصول على دعم لـ Azure Storage يمكن استخدام مجموعة Spark فيAzure Data Lake Storage Gen1/Gen2 كوحدة تخزين أساسي أو تخزين إضافي. لمزيد من المعلومات حولData Lake Storage Gen1، راجع Azure Data Lake Storage Gen1. لمزيد من المعلومات حولData Lake Storage Gen2، راجع Azure Data Lake Storage Gen2.
التكامل مع خدمات Azure تأتي مجموعة Spark في HDInsight مع موصل إلى Azure Event Hubs. يمكنك إنشاء تطبيقات تدفق باستخدام لوحات مراكز الأحداث. بما في ذلك Apache Kafka، والتي تتوفر بالفعل كجزء من Spark.
التكامل مع بيئات التطوير المتكاملة IDE التابعة لجهات خارجية يوفر HDInsight العديد من المكونات الإضافية لـ IDE التي تفيد في إنشاء وتقديم التطبيقات إلى مجموعة HDInsight Spark. لمزيد من المعلومات، راجع استخدامAzure Toolkit for IntelliJ IDEA، واستخدم Spark & Hive Tools for VSCode، واستخدم Azure Toolkit for Eclipse.
استعلامات متزامنة تدعم مجموعات Spark في HDInsight الاستعلامات المتزامنة. تمكن هذه الإمكانية استعلامات متعددة من مستخدم واحد أو استعلامات متعددة من مختلف المستخدمين والتطبيقات لمشاركة نفس موارد نظام المجموعة.
التخزين المؤقت على SSD يمكنك اختيار تخزين البيانات مؤقتاً إما في الذاكرة أو في SSDs المرفقة بمجموعة نظام المجموعة. يوفر التخزين المؤقت في الذاكرة أفضل أداء استعلام ولكن يمكن أن تكون مكلفاً. يوفر التخزين المؤقت في SSDs خياراً رائعاً لتحسين أداء الاستعلام دون الحاجة إلى إنشاء مجموعة من حجم مطلوب لاحتواء مجموعة البيانات بأكملها في الذاكرة. انظر تحسين أداء أحمال العمل Apache Spark باستخدام Azure HDInsight IO Cache.
التكامل مع BI Tools توفر مجموعات Spark في HDInsight موصلات لأدوات BI مثل Power BI لتحليلات البيانات.
مكتبات Anaconda المحملة مسبقاً تأتي مجموعات Spark في HDInsight مع مكتبات Anaconda المثبتة مسبقاً. توفر Anaconda ما يقرب من 200 مكتبة للتعلم الآلي وتحليل البيانات والتصور وما إلى ذلك.
التوافق يتيح لك HDInsight تغيير عدد عقد المجموعة ديناميكياً باستخدام ميزة Autoscale. انظر تلقائياً مقياس مجموعات Azure HDInsight. أيضًا، يمكن إسقاط مجموعات Spark دون فقدان البيانات نظرًا لأن جميع البيانات مخزنة في وحدة تخزين Azure Blob أو Azure Data Lake Storage Gen1 أو Azure Data Lake Storage Gen2.
SLA تأتي مجموعات Spark في HDInsight مع دعم 24/7 وSLA بنسبة 99.9٪ في زمن التشغيل.

تتضمن مجموعات Apache Spark في HDInsight المكونات التالية المتوفرة في المجموعات افتراضياً.

مجموعات HDInsight Spark عبارة عن برنامج تشغيل ODBC للاتصال من أدوات BI Microsoft Power BI.

بنية مجموعة Spark

The architecture of HDInsight Spark.

من السهل فهم مكونات Spark من خلال فهم كيفية تشغيل Spark على مجموعات HDInsight.

تُشغل تطبيقات Spark كمجموعات مستقلة من العمليات متعلقة بمجموعة. منسقة بواسطة الكائن SparkContext في البرنامج الرئيسي (يسمى برنامج التشغيل).

يمكن الاتصال بـ SparkContext إلى عدة أنواع من مديري المجموعة التي تعطي الموارد عبر التطبيقات. وتشمل هذه المجموعة مديري Apache Mesos أو Apache Hadoop YARN ، أو Spark مدير المجموعة. في HDInsight، يعمل Spark باستخدام مدير مجموعة YARN. بمجرد الاتصال، يكتسب Spark منفذين على عقد العمال في المجموعة، وهي عمليات تقوم بتشغيل الحسابات وتخزين البيانات لتطبيقك. بعد ذلك، يرسل التعليمة البرمجية للتطبيق (المحدد بواسطة ملفات JAR أو Python التي تم تمريرها إلى SparkContext) إلى المنفذين. وأخيراً، يرسل SparkContext المهام إلى المنفذين لتشغيلها.

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

يتصل SparkContext بـ Spark master وهو مسؤول عن تحويل تطبيق إلى رسم بياني موجه (DAG) للمهام الفردية. المهام التي تنفذ ضمن عملية تنفيذية على العقد العاملة. يحصل كل تطبيق على عمليات المنفذ الخاصة به. وتبقى طوال مدة التطبيق بأكمله وتشغل المهام في محادثات نصية متعددة.

Spark في حالات استخدام HDInsight

تمكن مجموعات Spark في HDInsight السيناريوهات الرئيسية التالية:

تحليل البيانات التفاعلية والمعلومات المهنية

يخزن Apache Spark في HDInsight البيانات في Azure Blob Storage،أوAzure Data Lake Gen1 أوAzure Data Lake Storage Gen2. يمكن لخبراء الأعمال وصانعي القرار الرئيسيين تحليل وبناء تقارير حول هذه البيانات. واستخدام Microsoft Power BI لبناء تقارير تفاعلية من البيانات التي تم تحليلها. يمكن أن يبدأ المحللون من بيانات غير منظمة/ شبه منظمة في تخزين المجموعة وتحديد مخطط للبيانات باستخدام دفاتر الملاحظات، ومن ثم إنشاء نماذج بيانات باستخدام Microsoft Power BI. كما تدعم مجموعات Spark في HDInsight عددًا من أدوات BI الخارجية أيضًا. مثل Tableau، ما يسهل الأمر على محللي البيانات وخبراء الأعمال وصناع القرار الرئيسيين.

التعلم الآلي من Spark

يأتي Apache Spark مع MLlib. MLlib هي مكتبة للتعلم الآلي مبنية على Spark والتي يمكنك استخدامها من مجموعة Spark في HDInsight. تشمل مجموعة Spark في HDInsight أيضاً Anaconda، وهو توزيع بايثون مع أنواع مختلفة من الحزم للتعلم الآلي. ومع الدعم المدمج لدفاتر ملاحظات Jupyter وZeppelin، سيصبح لديك بيئة لإنشاء تطبيقات التعلم الآلي.

تدفق Spark وتحليل البيانات في الوقت الحقيقي

تقدم شبكة نظام المجموعة Spark في HDInsight دعمًا كافيًا لوضع حلول التحليلات في الوقت الفعلي. يحتوي Spark بالفعل على موصلات لاستيعاب البيانات من العديد من المصادر مثل مقابس Kafka أو Flume أو Twitter أو ZeroMQ أو TCP. يضيف Spark في HDInsight دعماً من الدرجة الأولى لاستيعاب البيانات من Azure Event Hubs. تُعد Event Hubs خدمة قائمة الانتظار الأكثر استخداماً على Azure. إن الحصول على دعم كامل لمراكز الأحداث ـ يجعل مجموعات Spark في HDInsight منصة مثالية لبناء تدفقات التحليلات في الوقت الفعلي.

الخطوات التالية

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