ما هو 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 Gen2، ما يسمح لك بتطبيق معالجة Spark على مخازن البيانات الموجودة.
لبدء استخدام Apache Spark في Azure HDInsight، اتبع البرنامج التعليمي لإنشاء مجموعات HDInsight Spark.
للحصول على معلومات حول Apache Spark وكيفية تفاعله مع Azure، تابع قراءة المقالة أدناه.
للحصول على المكونات ومعلومات الإصدار، راجع مكونات Apache Hadoop والإصدارات في Azure HDInsight.
ما هو Apache Spark؟
يوفر Spark الأوليات للحوسبة العنقودية في الذاكرة. يمكن لوظيفة Spark تحميل البيانات وتخزينها في الذاكرة والاستعلام عنها بشكل متكرر. الحوسبة في الذاكرة أسرع بكثير من التطبيقات المخزنة على القرص الصلب، مثل Hadoop، التي تشارك البيانات من خلال نظام الملفات الموزعة Hadoop (HDFS). كما تدمج Spark في لغة برمجة Scala للسماح لك بمعالجة مجموعات البيانات الموزعة مثل المجموعات المحلية. لا حاجة لهيكلة كل شيء كخريطة وتقليل العمليات.
تقدم مجموعات 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 في HDInsight استخدام Azure Data Lake Storage Gen2 كمساحة تخزين أساسية أو تخزين إضافي. لمزيد من المعلومات حولData Lake Storage Gen2، راجع Azure Data Lake Storage Gen2. |
التكامل مع خدمات Azure | تأتي مجموعة Spark في HDInsight مع موصل إلى Azure Event Hubs. يمكنك إنشاء تطبيقات تدفق باستخدام لوحات مراكز الأحداث. بما في ذلك Apache Kafka، والتي تتوفر بالفعل كجزء من Spark. |
التكامل مع بيئات التطوير المتكاملة IDE التابعة لجهات خارجية | يوفر HDInsight العديد من المكونات الإضافية لـ IDE التي تفيد في إنشاء وتقديم التطبيقات إلى مجموعة HDInsight Spark. لمزيد من المعلومات، راجع استخدام مجموعة أدوات Azure ل IntelliJ IDEA، واستخدام أدوات Spark وHive ل VS Code، واستخدام مجموعة أدوات Azure ل Eclipse. |
| الاستعلامات المتزامنة |تدعم مجموعات Spark في HDInsight الاستعلامات المتزامنة. تمكن هذه الإمكانية استعلامات متعددة من مستخدم واحد أو استعلامات متعددة من مختلف المستخدمين والتطبيقات لمشاركة نفس موارد نظام المجموعة. | | التخزين المؤقت على SSDs |يمكنك اختيار تخزين البيانات مؤقتا إما في الذاكرة أو في SSDs المرفقة بعقد نظام المجموعة. يوفر التخزين المؤقت في الذاكرة أفضل أداء استعلام ولكن يمكن أن تكون مكلفاً. يوفر التخزين المؤقت في SSDs خياراً رائعاً لتحسين أداء الاستعلام دون الحاجة إلى إنشاء مجموعة من حجم مطلوب لاحتواء مجموعة البيانات بأكملها في الذاكرة. انظر تحسين أداء أحمال العمل Apache Spark باستخدام Azure HDInsight IO Cache. | | التكامل مع أدوات المعلومات المهنية |توفر مجموعات Spark في HDInsight موصلات لأدوات BI مثل Power BI لتحليل البيانات. | | مكتبات Anaconda المحملة مسبقا |تأتي مجموعات Spark في HDInsight مع مكتبات Anaconda المثبتة مسبقا. توفر Anaconda ما يقرب من 200 مكتبة للتعلم الآلي وتحليل البيانات والتصور وما إلى ذلك. | | إمكانية التكيف | يسمح لك HDInsight بتغيير عدد عقد نظام المجموعة ديناميكيا باستخدام ميزة التحجيم التلقائي. انظر تلقائياً مقياس مجموعات Azure HDInsight. أيضا، يمكن إسقاط مجموعات Spark دون فقدان البيانات حيث يتم تخزين جميع البيانات في تخزين Azure Blob أو Azure Data Lake Storage Gen2. | | اتفاقية مستوى الخدمة |تأتي مجموعات Spark في HDInsight مع دعم 24/7 واتفاقية مستوى الخدمة بنسبة 99.9٪ من وقت التشغيل. |
تتضمن مجموعات Apache Spark في HDInsight المكونات التالية المتوفرة في المجموعات افتراضياً.
- Spark Core. يتضمن Spark Core وSpark SQL وSpark Streaming APIs وGraphX وMLlib.
- Anaconda
- Apache Livy
- Jupyter Notebook
- دفتر ملاحظات Apache Zeppelin
مجموعات HDInsight Spark عبارة عن برنامج تشغيل ODBC للاتصال من أدوات BI Microsoft Power BI.
بنية مجموعة 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 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، سيصبح لديك بيئة لإنشاء تطبيقات التعلم الآلي.
- البرنامج التعليمي: التنبؤ بدرجات حرارة المباني باستخدام بيانات نظام التدفئة والتهوية والتكييف (HVAC)
- البرنامج التعليمي: توقع نتائج فحص الأغذية
تدفق 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 النموذجية:
- التشغيل السريع: إنشاء مجموعة Apache Spark في HDInsight وتشغيل الاستعلام التفاعلي باستخدام Jupyter
- البرنامج التعليمي: تحميل البيانات وتشغيل الاستعلامات على وظيفة Apache Spark باستخدام Jupyter
- البرنامج التعليمي: تصور بيانات Spark باستخدام Power BI
- البرنامج التعليمي: التنبؤ بدرجات حرارة المباني باستخدام بيانات نظام التدفئة والتهوية والتكييف (HVAC)
- تحسين مهام Spark للأداء