قراءة PySpark. باركيه ()

Qra T Pyspark Barkyh



في PySpark ، تكتب الوظيفة write.parquet () DataFrame إلى ملف الباركيه وتقرأ read.parquet () ملف الباركيه إلى PySpark DataFrame أو أي مصدر بيانات آخر. لمعالجة الأعمدة في Apache Spark بسرعة وكفاءة ، نحتاج إلى ضغط البيانات. يحفظ ضغط البيانات ذاكرتنا ويتم تحويل جميع الأعمدة إلى مستوى مسطح. هذا يعني أن التخزين على مستوى العمود المسطح موجود. يُعرف الملف الذي يخزن هذه الملفات باسم ملف PARQUET.

في هذا الدليل ، سنركز بشكل أساسي على قراءة / تحميل ملف الباركيه في 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:

  1. لعرض كافة السجلات من القطاعات التي تنتمي إلى 'الهند'.
  2. لعرض كافة السجلات من القطاعات مع موظف أكبر من 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.