ما هو كل شيء عن أباتشي سبارك؟

robot
إنشاء الملخص قيد التقدم

Apache Spark هو محرك تحليلات مفتوح المصدر للبيانات الكبيرة. لقد غير نوعًا ما اللعبة للمنظمات التي تتعامل مع أحمال بيانات ضخمة. Spark سريع. سريع جدًا. يستخدم معالجة في الذاكرة تجعله يتجاوز الأطر التقليدية - أسرع بحوالي 100 مرة من MapReduce لعمليات الذاكرة. الأشياء المبنية على القرص؟ لا يزال أسرع بعشر مرات.

الميزات البارزة لـ Spark

Spark يمنحك هذا النظام البيئي الكامل:

  • السرعة: محرك في الذاكرة يعالج البيانات بسرعة كبيرة
  • المرونة: يقوم بكل أنواع الأمور - SQL، التعلم الآلي، الأشياء في الوقت الحقيقي، الرسوم البيانية
  • منصة موحدة: تتوافق بشكل جيد مع مصادر البيانات المختلفة
  • المعالجة الموزعة: توزيع العمل عبر المجموعات لمجموعات البيانات الضخمة
  • مكتبات غنية: تحتوي على MLlib لتعلم الآلة. وأيضًا Spark Streaming. وGraphX لتحليلات الرسوم البيانية.

داخل بنية سبارك

تشمل العناصر الأساسية في Apache Spark ما يلي:

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

UDFs في PySpark: اجعل Spark خاصًا بك

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

اصنع UDF مثل هذا:

بايثون من pyspark.sql.functions import udf من pyspark.sql.types استيراد StringType

تعريف دالة بايثون

ديف convert_case(text): إرجاع text.upper() إذا كان النص آخر لا شيء

تسجيل كـ UDF

upper_case_udf = udf(convert_case ، StringType())

قدم إلى DataFrame

df = df.withColumn("upper_text", upper_case_udf(df.text_column))

لكن UDFs ليست مثالية. إنها أبطأ من الدوال المدمجة بسبب أمور التسلسل. ربما جرب UDFs الموجهة نحو المتجهات إذا كانت السرعة مهمة. استخدمها بحذر.

تعديل Spark باستخدام spark-defaults.conf

يمكنك التحكم في Spark من خلال ملف spark-defaults.conf هذا. إنه مجرد أزواج من الخصائص والقيم:

spark.master = غزل spark.executor.memory=4 جرام spark.driver.memory = 2 جرام spark.executor.cores=2 spark.sql.shuffle.partitions=200

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

Spark يستمر في التطور. إنه كبير في عالم البيانات. ليس مثالياً، لكنه مهم جداً.

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