تحليل باستخدام Apache Spark

في هذا البرنامج التعليمي، سوف تتعلم الخطوات الأساسية لتحميل وتحليل البيانات باستخدام Apache Spark لـ Azure Synapse

إنشاء تجمع Apache Spark بلا خادم

  1. في Synapse Studio، في الجزء الأيسر، حدد Manage>Apache Spark pools.
  2. حدد New
  3. لحقل Apache Spark pool name، أدخل Spark1.
  4. لحقل Node size، أدخل Small.
  5. لحقل Number of nodes، قم بتعيين الحد الأدنى إلى 3 والحد الأقصى إلى 3
  6. حدد «استعراض + إنشاء»>و«إنشاء». سيكون تجمع Apache Spark جاهزاً في غضون ثوان قليلة.

فهم تجمعات Apache Spark بلا خادم

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

تحليل بيانات سيارة أجرة مدينة نيويورك مع تجمع Spark

  1. في استوديو Synapse، انتقل إلى مركز تطوير.

  2. إنشاء دفتر ملاحظات جديد.

  3. إنشاء خلية تعليمات برمجية جديدة ولصق التعليمات البرمجية التالية في تلك الخلية:

    %%pyspark
    df = spark.read.load('abfss://users@contosolake.dfs.core.windows.net/NYCTripSmall.parquet', format='parquet')
    display(df.limit(10))
    
  4. قم بتعديل URI التحميل، بحيث يشير إلى نموذج الملف في حساب التخزين الخاص بك وفقا لنظام abfss URI.

  5. في دفتر الملاحظات، في القائمة Attach to، اختر تجمع Spark بلا خادم Spark1 الذي تم إنشاؤه سابقاً.

  6. حدد Run في الخلية. سيبدأ Synapse جلسة عمل Spark جديدة لتشغيل هذه الخلية إذا لزم الأمر. إذا كانت هناك حاجة إلى جلسة Spark جديدة، فستستغرق في البداية حوالي 2 إلى 5 دقائق ليتم إنشاؤها. بمجرد إنشاء جلسة عمل، سيستغرق تنفيذ الخلية حوالي ثانيتين.

  7. إذا كنت تريد فقط عرض مخطط إطار البيانات، قم بتشغيل خلية باستخدام التعليمات البرمجية التالية:

    %%pyspark
    df.printSchema()
    

تحميل بيانات سيارة أجرة مدينة نيويورك في قاعدة بيانات Spark nyctaxi

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

  1. إضافة خلية تعليمات برمجية جديدة إلى دفتر الملاحظات ثم قم بإدخال التعليمات البرمجية التالية:

    %%pyspark
    spark.sql("CREATE DATABASE IF NOT EXISTS nyctaxi")
    df.write.mode("overwrite").saveAsTable("nyctaxi.trip")
    

تحليل بيانات سيارة أجرة مدينة نيويورك باستخدام Spark ودفاتر الملاحظات

  1. قم بإنشاء خلية تعليمات برمجية جديدة وإدخال التعليمات البرمجية التالية.

    %%pyspark
    df = spark.sql("SELECT * FROM nyctaxi.trip") 
    display(df)
    
  2. يمكنك تشغيل الخلية لإظهار بيانات سيارة أجرة مدينة نيويورك التي تم تحميلها في قاعدة بيانات Spark المسماة nyctaxi.

  3. قم بإنشاء خلية تعليمات برمجية جديدة وإدخال التعليمات البرمجية التالية. سنقوم بتحليل هذه البيانات وحفظ النتائج في جدول يسمى nyctaxi.passengercountstats.

    %%pyspark
    df = spark.sql("""
       SELECT passenger_count,
           SUM(trip_distance) as SumTripDistance,
           AVG(trip_distance) as AvgTripDistance
       FROM nyctaxi.trip
       WHERE trip_distance > 0 AND passenger_count > 0
       GROUP BY passenger_count
       ORDER BY passenger_count
    """) 
    display(df)
    df.write.saveAsTable("nyctaxi.passengercountstats")
    
  4. في نتائج الخلية، حدد Chart لعرض البيانات المرئية.

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