الأخبار التكنولوجية والاستعراضات والنصائح!

PySpark للمبتدئين – نحو الذكاء الاصطناعي

ستساعدك المقالة التالية: PySpark للمبتدئين – نحو الذكاء الاصطناعي

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

لذلك سنبدأ الجزء النظري أولاً عن سبب حاجتنا إلى Pyspark وخلفية Apache Spark والميزات وأنواع مدير الكتلة ووحدات وحزم Pyspark.

Apache Spark هو محرك معالجة تحليلي لمعالجة البيانات الموزعة القوية على نطاق واسع وتطبيقات التعلم الآلي. بشكل عام ، يتم كتابة Spark بلغة Scala ، ولكن من أجل التكيف الصناعي ، تم إصدار Python API – PySpark لاستخدام شرارة مع Python. في الوقت الفعلي ، يتم استخدام PySpark كثيرًا في مجتمع التعلم الآلي وعلماء البيانات ؛ تدير Spark عمليات على مليارات وتريليونات من البيانات على مجموعات موزعة أسرع 100 مرة من تطبيقات بيثون التقليدية.

هندسة Pyspark

يعمل Apache Spark في بنية السيد والعبد حيث يُطلق على السيد “السائق” ويُطلق على العبيد “العمال”. يقوم Spark Driver بإنشاء سياق شرارة يعمل كنقطة دخول إلى التطبيق ، ويتم تشغيل جميع العمليات على العقد العاملة ، وتتم إدارة الموارد بواسطة مدير المجموعة.

أنواع مدير الكتلة

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

  • – مدير كتلة بسيط مضمن في Spark يجعل من السهل إعداد الكتلة.
  • – مدير مجموعة عام يمكنه أيضًا تشغيل Hadoop MapReduce وتطبيقات الخدمة. (إهمال)
  • – مدير الموارد في Hadoop 2 و 3. مدير الكتلة الأكثر استخدامًا
  • – نظام مفتوح المصدر لأتمتة نشر التطبيقات المعبأة في حاويات وتوسيع نطاقها وإدارتها.

Pyspark conf و Pyspark Context و Pyspark:

Pyspark أسيوط: يوفر SparkConf التكوين لأي تطبيق Spark. لبدء أي تطبيق Spark على مجموعة محلية أو مجموعة بيانات ، نحتاج إلى تعيين بعض التكوين والمعلمات ، ويمكن القيام بذلك باستخدام SparkConf.

ميزات Pyspark conf:

  • مجموعة (مفتاح ، قيمة) –قم بتعيين خاصية التكوين.
  • setMaster (القيمة) – قم بتعيين عنوان URL الرئيسي للاتصال به.
  • setAppName (القيمة) – تعيين اسم التطبيق.
  • الحصول على (مفتاح ، القيمة الافتراضية = لا شيء) –احصل على القيمة المكونة لبعض المفاتيح ، أو قم بإرجاع القيمة الافتراضية بخلاف ذلك.
  • setSparkHome (القيمة) –تعيين المسار حيث تم تثبيت Spark على العقد العاملة.

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

يقوم برنامج Spark driver بإنشاء واستخدام SparkContext للاتصال بمدير الكتلة لإرسال وظائف PySpark ومعرفة مدير الموارد الذي يجب التواصل معه. إنه قلب تطبيق PySpark.

يمكننا إنشاء SparkContext واحد فقط لكل JVM. من أجل إنشاء أخرى أولاً ، تحتاج إلى إيقاف القائمة الحالية باستخدام طريقة stop (). SparkContext متاح افتراضيًا باسم “sc”. لذا فإن إنشاء المتغير الآخر بدلاً من sc سيعطي خطأً.

جلسة Pyspark:منذ Spark 2.0 ، أصبح SparkSession نقطة دخول إلى PySpark للعمل مع RDD و DataFrame. قبل الإصدار 2.0 ، كان SparkContext يستخدم ليكون نقطة دخول. SparkSession عبارة عن فئة مدمجة لجميع السياقات المختلفة التي اعتدنا الحصول عليها قبل الإصدار 2.0 (SQLContext و HiveContext وما إلى ذلك). منذ الإصدار 2.0 ، يمكن استخدام SparkSession بدلاً من SQLContext و HiveContext وغيرها من السياقات المحددة قبل الإصدار 2.0.

على الرغم من أن SparkContext كانت نقطة دخول قبل الإصدار 2.0 ، إلا أنها لم يتم استبدالها بالكامل بـ SparkSession ؛ لا تزال العديد من ميزات SparkContext متاحة ومستخدمة في Spark 2.0 والإصدارات الأحدث. يقوم SparkSession داخليًا بإنشاء SparkConfig و SparkContext بالتكوين المقدم معها.

يمكننا إنشاء العديد من SparkSession كما تريد في تطبيق PySpark باستخدام إما SparkSession.builder () أو SparkSession.newSession (). تكون العديد من كائنات جلسة Spark مطلوبة عندما تريد الاحتفاظ بجداول PySpark (الكيانات العلائقية) منفصلة منطقيًا.

إنشاء جلسة شرارة

من pyspark.sql استيراد SparkSession spark = SparkSession.builder.appName (“Practice”). getOrCreate () spark

وحدات وحزم Pyspark

PySpark RDD – مجموعة البيانات الموزعة المرنة:

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

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

Pyspark للمبتدئين | الجزء 4: Pyspark RDD

Pyspark DataFrame:

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

نظرًا للتنفيذ المتوازي على جميع النوى على أجهزة متعددة ، يدير PySpark العمليات بشكل أسرع من الباندا. بمعنى آخر ، تقوم pandas DataFrames بتشغيل عمليات على عقدة واحدة ، بينما يعمل PySpark على أجهزة متعددة.

بيسبارك للمبتدئين | الجزء 2: Pyspark DataFrame

Pyspark SQL:

PySpark SQL هي وحدة نمطية في Spark تدمج المعالجة العلائقية مع واجهة برمجة تطبيقات البرمجة الوظيفية في Spark. يمكننا استخراج البيانات باستخدام لغة استعلام SQL. يمكننا استخدام الاستعلامات مثل لغة SQL.

بمعنى آخر ، يجلب Spark SQL استعلامات RAW SQL الأصلية على Spark ، مما يعني أنه يمكنك تشغيل ANSI SQL التقليدية على Spark Dataframe ، في القسم أعلاه من هذا البرنامج التعليمي PySpark ، سوف تتعلم بالتفصيل حول استخدام تحديد SQL ، حيث ، المجموعة حسب ، الانضمام ، اتحاد ، إلخ

سيكون PySpark SQL سهل الاستخدام ، حيث يمكنك توسيع حدود معالجة البيانات العلائقية التقليدية. يدعم Spark أيضًا لغة Hive Query ، ولكن هناك قيودًا على قاعدة بيانات Hive. تم تطوير Spark SQL لإزالة عيوب قاعدة بيانات Hive.

Pyspark MLlib:

تقدم Apache Spark واجهة برمجة تطبيقات تعلم الآلة تسمى MLlib. تمتلك PySpark واجهة برمجة تطبيقات التعلم الآلي هذه في Python أيضًا.

وهو يدعم أنواعًا مختلفة من الخوارزميات المذكورة أدناه

Pyspark MLlib | التصنيف باستخدام Pyspark ML

Pyspark Graph الإطارات:

يتم تقديم PySpark GraphFrames في إصدار Spark 3.0 لدعم الرسوم البيانية على DataFrame. قبل الإصدار 3.0 ، كان لدى Spark مكتبة GraphX ​​، والتي تعمل بشكل مثالي على RDD وتفقد جميع إمكانات إطار البيانات.

GraphFrames عبارة عن حزمة لبرنامج Apache Spark توفر رسومًا بيانية قائمة على DataFrame. يوفر واجهات برمجة تطبيقات عالية المستوى في Scala و Java و Python. تهدف إلى توفير وظائف GraphX ​​والوظائف الموسعة مع الاستفادة من Spark DataFrames. تتضمن هذه الوظيفة الموسعة البحث عن الحافز ، والتسلسل المستند إلى DataFrame ، واستعلامات الرسم البياني شديدة التعبير.

Pyspark الجري:

PySpark Streaming هو نظام معالجة دفق قابل للتطوير وعالي الإنتاجية ومتحمل للأخطاء يدعم كلاً من أحمال العمل المجمعة والمتدفقة. يتم استخدامه لمعالجة البيانات في الوقت الفعلي من مصادر مثل مجلد نظام الملفات ، ومقبس TCP ، و S3 ، و Kafka ، و Flume ، Twitter، و Amazon Kinesis على سبيل المثال لا الحصر. يمكن دفع البيانات المعالجة إلى قواعد البيانات ، وكافكا ، ولوحات المعلومات الحية ، إلخ.

هذا هو الجزء النظري لـ Pyspark

انتقل من خلال روابط المحتوى المقدمة أعلاه لفهم وتنفيذ Pyspark.

نتمنى لك ترميزًا سعيدًا…


نُشر PySpark For Beginners في الأصل في Towards AI on Medium ، حيث يواصل الأشخاص المحادثة من خلال تسليط الضوء على هذه القصة والرد عليها.

تم النشر عبر نحو الذكاء الاصطناعي