الوصف
صيغة خاصة لقراءة البيانات الوصفية لملف Parquet (https://parquet.apache.org/docs/file-format/metadata/). ويُخرج دائمًا صفًا واحدًا بالبنية/المحتوى التالي:num_columns- عدد الأعمدة- “num_rows` - العدد الإجمالي للصفوف
num_row_groups- العدد الإجمالي لمجموعات الصفوفformat_version- إصدار صيغة Parquet، ويكون دائمًا 1.0 أو 2.6total_uncompressed_size- الحجم الإجمالي للبيانات غير المضغوطة بالبايت، ويُحسب على أنه مجموعtotal_byte_sizeمن جميع مجموعات الصفوفtotal_compressed_size- الحجم الإجمالي للبيانات المضغوطة بالبايت، ويُحسب على أنه مجموعtotal_compressed_sizeمن جميع مجموعات الصفوفcolumns- قائمة البيانات الوصفية للأعمدة بالبنية التالية:name- اسم العمودpath- مسار العمود (يختلف عن الاسم في العمود المتداخل)max_definition_level- الحد الأقصى لمستوى التعريفmax_repetition_level- الحد الأقصى لمستوى التكرارphysical_type- النوع الفيزيائي للعمودlogical_type- النوع المنطقي للعمودcompression- الضغط المستخدم لهذا العمودtotal_uncompressed_size- الحجم الإجمالي غير المضغوط للعمود بالبايت، ويُحسب على أنه مجموعtotal_uncompressed_sizeللعمود من جميع مجموعات الصفوفtotal_compressed_size- الحجم الإجمالي المضغوط للعمود بالبايت، ويُحسب على أنه مجموعtotal_compressed_sizeللعمود من جميع مجموعات الصفوفspace_saved- النسبة المئوية للمساحة التي وفّرها الضغط، وتُحسب كما يلي: (1 - total_compressed_size/total_uncompressed_size).encodings- قائمة الترميزات المستخدمة لهذا العمود
row_groups- قائمة البيانات الوصفية لمجموعات الصفوف بالبنية التالية:num_columns- عدد الأعمدة في مجموعة الصفوفnum_rows- عدد الصفوف في مجموعة الصفوفtotal_uncompressed_size- الحجم الإجمالي غير المضغوط لمجموعة الصفوف بالبايتtotal_compressed_size- الحجم الإجمالي المضغوط لمجموعة الصفوف بالبايتcolumns- قائمة البيانات الوصفية لأجزاء الأعمدة بالبنية التالية:name- اسم العمودpath- مسار العمودtotal_compressed_size- الحجم الإجمالي المضغوط للعمود بالبايتtotal_uncompressed_size- الحجم الإجمالي غير المضغوط لمجموعة الصفوف بالبايتhave_statistics- قيمة منطقية تشير إلى ما إذا كانت البيانات الوصفية لجزء العمود تحتوي على إحصاءات العمودstatistics- إحصاءات جزء العمود (تكون جميع الحقول NULL إذا كانت have_statistics = false) بالبنية التالية:num_values- عدد القيم غير NULL في جزء العمودnull_count- عدد قيم NULL في جزء العمودdistinct_count- عدد القيم المميزة في جزء العمودmin- القيمة الدنيا لجزء العمودmax- القيمة القصوى لجزء العمود
have_size_statistics- قيمة منطقية تشير إلى ما إذا كانت البيانات الوصفية لجزء العمود تحتوي على إحصاءات الحجمsize_statistics- إحصاءات حجم جزء العمود (تكون جميع الحقول NULL أو فارغة إذا كانت have_size_statistics = false) بالبنية التالية:unencoded_byte_array_data_bytes- الحجم الإجمالي لقيم مصفوفة البايت غير المُرمَّزة كما هو مسجَّل في الـ footer، ويكون NULL إذا لم يسجّله الـ writerrepetition_level_histogram- عدد القيم عند كل مستوى تكرار كما هو مسجَّل في الـ footer، ويكون فارغًا إذا لم يسجّله الـ writerdefinition_level_histogram- عدد القيم عند كل مستوى تعريف كما هو مسجَّل في الـ footer، ويكون فارغًا إذا لم يسجّله الـ writer