البرمجة

استكشاف ملفات HDFS باستخدام PySpark: دليل الحصول على قائمة ملفات ودلائل

في عالم تحليل البيانات والمعالجة الضخمة، يعد PySpark أحد الأدوات البارزة التي تسهم في تحقيق أداء متفوق على مستوى البرمجة باستخدام لغة Python. وفي هذا السياق، يثور سؤال مهم حول كيفية الحصول على قائمة من الملفات والدلائل داخل مسار معين على نظام ملفات Hadoop Distributed File System (HDFS) باستخدام PySpark.

في البداية، يُظهر العنوان حاجة ملحة للمستخدم إلى استراتيجيات فعّالة تتيح له الوصول إلى قائمة الملفات والدلائل داخل مسار محدد على HDFS أو المسار المحلي، مع التركيز على أن textFile لا يلبي هذا الغرض ويعمل فقط على ملفات النص.

يمكن أن يكون حلاً مثاليًا لهذا التحدي استخدام واجهة مستخدم PySpark’s SparkContext و SparkSession المُحسّنة. يمكن للمستخدم استخدام الأمر hadoopFile الذي يوفر PySpark لتحقيق هذا الغرض. على سبيل المثال:

python
from pyspark.sql import SparkSession # إنشاء SparkSession spark = SparkSession.builder.appName("example").getOrCreate() # تحديد المسار على HDFS أو المسار المحلي hdfs_path = "hdfs://your_hdfs_path" # أو يمكن استخدام "file://your_local_path" للمسار المحلي # استخدام hadoopFile للحصول على قائمة الملفات والدلائل files_and_directories = spark.sparkContext.hadoopFile(hdfs_path) # قائمة لتخزين النتائج result_list = [] # استخدام الحلقات لتحليل نتائج hadoopFile for item in files_and_directories.collect(): result_list.append(item) # إخراج النتائج print(result_list)

يتيح هذا الكود للمستخدم الوصول إلى قائمة الملفات والدلائل داخل المسار المحدد. يمكن استبدال your_hdfs_path بالمسار المراد استكشافه على HDFS، أو يمكن استخدام file://your_local_path لاستكشاف المسار المحلي.

في الختام، يُظهر هذا الشرح كيف يمكن لمستخدم PySpark التفاعل بفعالية مع نظام ملفات HDFS للحصول على قائمة شاملة للملفات والدلائل داخل مسار معين.

المزيد من المعلومات

بالطبع، دعونا نقدم مزيدًا من التفاصيل حول الحلاقة التي قدمتها للمستخدم بخصوص الحصول على قائمة الملفات والدلائل على HDFS باستخدام PySpark.

في البداية، يُظهر الكود كيف يتم إنشاء SparkSession، وهو الكائن الرئيسي الذي يتيح للمستخدم التفاعل مع بيئة PySpark. يتم ذلك باستخدام SparkSession.builder.appName("example").getOrCreate()، حيث يمكن للمستخدم تعيين اسم لتطبيقه.

من ثم، يتم تحديد المسار الذي يرغب المستخدم في استكشافه على HDFS أو المسار المحلي باستخدام hdfs_path، والذي يمكن تعديله وفقًا لاحتياجات المستخدم.

تُظهر الخطوة الرئيسية في الكود استخدام hadoopFile من خلال spark.sparkContext.hadoopFile(hdfs_path)، والذي يسمح بالوصول المباشر إلى محتوى المسار المحدد. يتم استخدام collect() لجمع النتائج، ومن ثم يتم تخزينها في قائمة result_list باستخدام حلقة.

يمكن للمستخدم تكرار القائمة وفحص كل عنصر على حدة لاستخراج المزيد من التفاصيل حول الملفات والدلائل المتاحة.

من خلال هذا السياق، يمكن للمستخدم أيضًا تكييف الحلاقة لتناسب حاجياته الخاصة، مثل تحديد نوع معين من الملفات أو الدلائل أو توسيع الكود لاسترداد المزيد من المعلومات مثل الحجم أو التوقيت أو الصلاحيات.

بهذه الطريقة، يُمكن للمستخدم تحسين وتكييف الكود بحسب احتياجاته الخاصة لاستكشاف بيانات HDFS بفعالية باستخدام PySpark.

زر الذهاب إلى الأعلى