في هذا الدليل ، سنركز بشكل أساسي على قراءة / تحميل ملف الباركيه في PySpark DataFrame / SQL باستخدام وظيفة read.parquet () المتوفرة في فئة pyspark.sql.DataFrameReader.
موضوع المحتويات:
اقرأ ملف الباركيه في PySpark DataFrame
اقرأ ملف الباركيه إلى PySpark SQL
Pyspark.sql.DataFrameReader.parquet ()
تُستخدم هذه الوظيفة لقراءة ملف الباركيه وتحميله في PySpark DataFrame. يأخذ المسار / اسم الملف لملف الباركيه. يمكننا ببساطة استخدام وظيفة read.parquet () لأن هذه هي الوظيفة العامة.
بناء الجملة:
دعونا نرى صيغة read.parquet ():
spark_app.read.parquet (file_name.parquet / path)أولاً ، قم بتثبيت وحدة PySpark باستخدام الأمر pip:
نقطة تثبيت pyspark
احصل على ملف الباركيه
لقراءة ملف باركيه ، تحتاج إلى البيانات التي يتم فيها إنشاء ملف الباركيه من تلك البيانات. في هذا الجزء ، سنرى كيفية إنشاء ملف باركيه من PySpark DataFrame.
دعونا ننشئ PySpark DataFrame مع 5 سجلات ونكتب هذا في ملف الباركيه “Industry_parquet”.
استيراد pysparkمن pyspark.sql استيراد SparkSession ، Row
linuxhint_spark_app = SparkSession.builder.appName ( 'تلميح Linux' ) .getOrCreate ()
# إنشاء إطار البيانات الذي يخزن تفاصيل الصناعة
Industry_df = linuxhint_spark_app.createDataFrame ([الصف (النوع = 'زراعة' ، المنطقة = 'الولايات المتحدة الأمريكية' و
التقييم = 'حار' إجمالي الموظفين = 100 ) ،
الصف (النوع = 'زراعة' ، المنطقة = 'الهند' ، التقييم = 'حار' إجمالي الموظفين = 200 ) ،
الصف (النوع = 'تطوير' ، المنطقة = 'الولايات المتحدة الأمريكية' ، التقييم = 'دافيء' إجمالي الموظفين = 100 ) ،
الصف (النوع = 'تعليم' ، المنطقة = 'الولايات المتحدة الأمريكية' ، التقييم = 'رائع' إجمالي الموظفين = 400 ) ،
الصف (النوع = 'تعليم' ، المنطقة = 'الولايات المتحدة الأمريكية' ، التقييم = 'دافيء' إجمالي الموظفين = عشرين )
])
# إطار البيانات الفعلي
Industry_df.show ()
# اكتب Industry_df في ملف الباركيه
Industry_df.coalesce ( 1 ) .write.parquet ( 'صناعة_باركيه' )
انتاج:
هذا هو DataFrame الذي يحتوي على 5 سجلات.
يتم إنشاء ملف باركيه لإطار البيانات السابق. هنا ، اسم الملف الخاص بنا بامتداد هو 'part-00000-ff70f69d-f1fb-4450-b4b4-dfd5a8d6c7ad-c000.snappy.parquet'. نستخدم هذا الملف في البرنامج التعليمي بأكمله.
اقرأ ملف الباركيه في PySpark DataFrame
لدينا ملف الباركيه. دعنا نقرأ هذا الملف باستخدام وظيفة read.parquet () ونحمّله في PySpark DataFrame.
استيراد pysparkمن pyspark.sql استيراد SparkSession ، Row
linuxhint_spark_app = SparkSession.builder.appName ( 'تلميح Linux' ) .getOrCreate ()
# اقرأ ملف الباركيه في كائن dataframe_from_parquet.
dataframe_from_parquet = linuxhint_spark_app.read.parquet ( 'جزء-00000-ff70f69d-f1fb-4450-b4b4-dfd5a8d6c7ad-c000.snappy.parquet' )
# عرض dataframe_from_parquet-DataFrame
dataframe_from_parquet.show ()
انتاج:
نعرض DataFrame باستخدام طريقة show () التي تم إنشاؤها من ملف الباركيه.
استعلامات SQL مع ملف الباركيه
بعد التحميل في DataFrame ، يمكن إنشاء جداول SQL وعرض البيانات الموجودة في DataFrame. نحتاج إلى إنشاء عرض مؤقت واستخدام أوامر SQL لإرجاع السجلات من DataFrame الذي تم إنشاؤه من ملف الباركيه.
مثال 1:
قم بإنشاء عرض مؤقت باسم 'القطاعات' واستخدم الأمر SELECT لعرض السجلات في DataFrame. يمكنك الرجوع إلى هذا درس تعليمي هذا يشرح كيفية إنشاء عرض في Spark - SQL.
استيراد pysparkمن pyspark.sql استيراد SparkSession ، Row
linuxhint_spark_app = SparkSession.builder.appName ( 'تلميح Linux' ) .getOrCreate ()
# اقرأ ملف الباركيه في كائن dataframe_from_parquet.
dataframe_from_parquet = linuxhint_spark_app.read.parquet ( 'جزء-00000-ff70f69d-f1fb-4450-b4b4-dfd5a8d6c7ad-c000.snappy.parquet' )
# إنشاء عرض من ملف الباركيه أعلاه المسمى - 'القطاعات'
dataframe_from_parquet.createOrReplaceTempView ( 'القطاعات' )
# استعلام لعرض جميع السجلات من القطاعات
linuxhint_spark_app.sql ( 'حدد * من القطاعات' ).يعرض()
انتاج:
المثال 2:
باستخدام طريقة العرض السابقة ، اكتب استعلام SQL:
- لعرض كافة السجلات من القطاعات التي تنتمي إلى 'الهند'.
- لعرض كافة السجلات من القطاعات مع موظف أكبر من 100.
linuxhint_spark_app.sql ( 'حدد * من القطاعات حيث المنطقة = 'الهند'' ).يعرض()
# استعلام لعرض جميع السجلات من القطاعات التي بها موظف أكبر من 100
linuxhint_spark_app.sql ( 'حدد * من القطاعات حيث إجمالي عدد الموظفين> 100' ).يعرض()
انتاج:
يوجد سجل واحد فقط بمنطقة 'الهند' وسجلين مع موظفين أكبر من 100.
اقرأ ملف الباركيه إلى PySpark SQL
أولاً ، نحتاج إلى إنشاء عرض باستخدام الأمر CREATE. باستخدام الكلمة الأساسية 'path' في استعلام SQL ، يمكننا قراءة ملف الباركيه إلى Spark SQL. بعد المسار ، نحتاج إلى تحديد اسم الملف / موقع الملف.
بناء الجملة:
spark_app.sql ( 'إنشاء عرض مؤقت view_name باستخدام خيارات الباركيه (المسار' file_name.parquet ')' )مثال 1:
أنشئ عرضًا مؤقتًا باسم 'Sector2' واقرأ ملف الباركيه فيه. باستخدام دالة sql () ، اكتب استعلام التحديد لعرض كافة السجلات الموجودة في طريقة العرض.
استيراد pysparkمن pyspark.sql استيراد SparkSession ، Row
linuxhint_spark_app = SparkSession.builder.appName ( 'تلميح Linux' ) .getOrCreate ()
# اقرأ ملف الباركيه في Spark- SQL
linuxhint_spark_app.sql ( 'إنشاء عرض مؤقت القطاع 2 باستخدام خيارات الباركيه (المسار' جزء-00000-ff70f69d-f1fb- 4450 -b4b4-dfd5a8d6c7ad-c000.snappy.parquet ')' )
# استعلام لعرض جميع السجلات من القطاع 2
linuxhint_spark_app.sql ( 'حدد * من القطاع 2' ).يعرض()
انتاج:
المثال 2:
استخدم طريقة العرض السابقة واكتب الاستعلام لعرض جميع السجلات ذات التصنيف 'ساخن' أو 'رائع'.
# استعلام لعرض جميع السجلات من القطاع 2 مع التصنيف- ساخن أو رائع.linuxhint_spark_app.sql ( 'حدد * من القطاع 2 حيث التقييم =' رائع 'أو التقييم =' رائع '' ).يعرض()
انتاج:
هناك ثلاثة سجلات بتصنيف 'ساخن' أو 'رائع'.
خاتمة
في PySpark ، تكتب الدالة write.parquet () إطار البيانات إلى ملف الباركيه. تقرأ الوظيفة read.parquet () ملف الباركيه إلى PySpark DataFrame أو أي مصدر بيانات آخر. تعلمنا كيفية قراءة ملف الباركيه في PySpark DataFrame وفي جدول PySpark. كجزء من هذا البرنامج التعليمي ، ناقشنا أيضًا كيفية إنشاء الجداول من PySpark DataFrame وتصفية البيانات باستخدام جملة WHERE.