Table of Contents
مقدمة إلى شركة Spark SQL في مستودعات البيانات الهندسية
وتخزن مستودعات البيانات الموازية أحجاماً ضخمة من البيانات المهيأة وشبه الهيكلية التي تنتجها أجهزة الاستشعار، ونظم المراقبة، ومعدات التصنيع، وعمليات المحاكاة الخاصة بالتصميم، وكثيراً ما تنطوي النماذج الموازية لهذه المستودعات على ضم مجموعات متعددة الجداول، وعمليات حساب التجمّع الزمني، وظروف التصفية المعقدة.
ما هو Spark SQL؟
Spark SQL is a modular component of Apache Spark that enables querying structured data using SQL statements or the DataFrame API. It was introduced in Spark 1.0 and has since grownd into a high-performance query motor. Spark SQL works by first parsing a SQL query into a logical plan, then applying Catalyst-a query
وعلى عكس المحركات التقليدية لشبكة SQL التي تخزن البيانات في أشكال ذات منحى متتالي، وتعتمد على الفهرسة، فإن شركة Spark SQL تستغل تخزين الأعمدة (مثلا، شركة Parquet)، وتلغي السحب، وتحسن التكلفة، لتقليل المعالجة القائمة على أساس التسلسل، وتسريع تجهيز الاستفسارات، وهذا يعني أن المهندسين الذين يعملون مع أعباء كبيرة من حفظ البيانات، أسرع في عمليات الاستطلاع، وقدرة على إجراء الاستفسارات دون ساعات الانتظار.
الفوائد الرئيسية لمستودعات البيانات الهندسية
المضاعفات
وكثيرا ما تتطلب الاستفسارات الهندسية تجميع المعلومات من الجداول المتباينة: سجلات المعدات، وقراءات الاستشعار، وسجلات الصيانة، ونتائج مراقبة الجودة، ويمكن أن تصبح كتابة هذه الاستفسارات في نظام " مابريد " أو حتى " هيفيك " فوضوية ومعرضة للأخطاء، ويتيح لكم كتابة بيان واحد عن معايير الجودة يضم خمسة أو أكثر من الجداول الكبيرة، ويطبق مهاما على نطاق الترددات المتوسطة للاختيار.
معالجة البيانات بسرعة درامية
وتستخدم شركة " سبارك " (Spark SQL) ميزة أداء الشركة من حساب داخلي ومحرك " Tungsten execution " ، وتستخدم شركة " Tungsten " إنتاج الرموز لتحويل مشغلي الاستفسارات إلى استخدامات عالية التفاؤل، وتتجنب المكالمات الافتراضية، وترفع من كشكات الأشعة المكشوفة، مثلاً، يمكن أن تكتمل في دقائق بدلاً من ساعات قياساً إلى كمية من كمية الأشعة المتحركة المتوسطة.
مصادر البيانات المتعددة والصيغ
وكثيراً ما تُنقل مخازن البيانات الهندسية من مصادر متنوعة: سجلات CSV من أجهزة IoT، وصادرات باركيت من برامج المحاكاة، ومنشورات شركة JSON من شركة APIs، وملفات شركة Avro/ORC من خطوط الأنابيب الأمامية.
Integristing BI and Engineering Tools
ويستخدم العديد من الأفرقة الهندسية منصات استخبارات الأعمال التجارية مثل " الجدول " ، أو " باور بي آي " ، أو " سوبرك " (Spark SQL) التي تتيح للشبكة المشتركة بين إدارة الأعمال التجارية (عن طريق شركة Spark Thrift Server) والتي تجعلها متوافقة مع هذه الأدوات، ويمكن للمهندسين ربط تطبيقهم المفضل في نظام Spark SQL) وإدارة لوحات تفاعلية على مجموعات البيانات المزودة بالبرمجة.
How Spark SQL Simplifies Common Engineering Data Queries
Complex Joins with Automatic Optimization
كما أن هناك استفسارا نموذجيا قد يتطلب الانضمام إلى جدول ) (بملايين الصفوف) مع جدول (خطة من الصفوف) (تتماشى أيضا مع جداول التلفزيون الدينامية) على المصابيح والآلات، ثم تتجمع حسب نوع النوبات ونوع المنتجات.
وظائف النافذة لتحليل الزمان
وكثيراً ما تتطلب البيانات الهندسية عمليات حساب متجددة - مثل متوسطات الحركات اليومية لقراءات الاهتزاز، أو العد التراكمي للحدث العيوب لكل معدات، وتدعم شركة Spark SQL بالكامل وظائف النوافذ مثل ، ، ، .
SELECT sensor_id, reading_time, temperature,
temperature - LAG(temperature, 1) OVER (
PARTITION BY sensor_id ORDER BY reading_time
) AS temp_change
FROM sensor_readings;
البيانات المحمَّلة ومعالجة الهيكل
وكثير من السجلات الهندسية مخزنة في أشكال مكتظة مثل شركة JSON أو Avro. Spark SQL can query nested fields directly using dot notation or the data type. For example, if each row contains a column of type , you can write que need].
In —-memory Caching for Iterative Workloads
وكثيرا ما يكون تحليل البيانات الهندسية تكرارا: فبعد إجراء استفسار لإيجاد شذوذ، قد يرغب المهندس في حفر مجموعات فرعية من تلك البيانات، أو أو على أثر أثر في الذاكرة، وبالتالي فإن الاستفسارات اللاحقة بشأن نفس البيانات تدار على الفور تقريبا.
Real — world Use Cases in Engineering Data Warehouses
IoT Sensor Data Analysis
ويجمع مصنع رئيسي ٥٠٠ جي بي من ١٠ قراءات من الثانية من عشرات الآلاف من أجهزة الاستشعار كل يوم، ويخزن مخزن بياناتها القراءات الخام في باركيت تقسم كل سنة/شهر/يوم، ويستخدم المهندسون Spark SQL أسئلة مثل: " ما هو متوسط درجة الحرارة والثبات لكل آلة خلال التحول الأخير الذي يتجاوز فيه استهلاك الطاقة ١٠٠ كيلوواط؟ "
معدات الصيانة
ويجمع أسطول من الاضطرابات الريحية إجراءات صيانة قطع الأشجار، واستبدال العناصر، وعمليات التشخيص في الوقت الحقيقي، بين السجلات المنظمة )النوع الأخير، والأوقات، والهويات التقنية( مع تعليقات غير منظمة مخزنة كنص، كما أن الدعم المقدم من شركة Spark SQL للمهام المحددة للمستعملين في بيتون أو سكالا يسمح للمهندسين باستخلاص كلمات رئيسية من التعليقات والانضمام إليها بالأحداث المنظمة.
تحليل النواتج
وتخضع أفرقة التصميم لحركات سائل حاسوبي (CFD) حيث تم إنتاج العديد من الملفات الصغيرة التي تحتوي على بيانات مشرقة ونتائج مائلة، وهذه الملفات محمولة في المستودع في شكل مضغط من طراز JSON، حيث تجاوز الدعم المقدم من شركة Spark SQL ومؤسسة الدفع المسبق، ولم يتساءل المهندسون إلا عن عمليات المحاكاة ذات الصلة دون قراءة جميع الملفات، ويمكنهم أن يقارنوا الإحصاءات بأرقام السحب المخفضة().
مقارنة: Spark SQL vs. Traditional Hive on MapReduce
فقبل أن يُستخدم جهاز الإطلاق Spark SQL العديد من أفرقة التشغيل في أعلى الاستفسارات المتعلقة بمقياس SQL على بيانات Hadoop، وفي حين يقدم المفرزة وصلة بينية مألوفة، فإن نموذج تنفيذ الخرائط يُبالغ في أداءه من كتابة النتائج المتوسطة إلى التفريق بين كل مرحلة، بينما تحتفظ شركة Spark SQL بالبيانات في مختلف المراحل عن طريق التسلسل والتصوير بمقياس الأمثل لمقياس I/O.
غير أن شركة Spark SQL ليست بديلاً عن جميع أعباء عمل الخلية، إذ تقدم شركة Spark SQL معاملاتها وخصائصها الصارمة (مثل المفاتيح الأجنبية) التي لا تدعمها بالكامل، وبالنسبة لمستودع البيانات النقي، فإن شركة Spark SQL ممتازة، وبالنسبة لحجم العمل في المعاملات، لا تزال هناك حاجة إلى قاعدة بيانات تقليدية تتعلق بالعلاقات.
التكامل مع أدوات وتدفقات العمل في مجال BI
ويمكن أن تتعرض شركة Spark SQL لأدوات BI عن طريق جهاز ((FLT:0)) Spark Thrift Server ، الذي ينفذ بروتوكول هيف سيرفر(2)، ويمكِّن المهندسون من ربط مصانع النسيج أو بطاقتها بخادم العجلات باستخدام سائق من طراز Hive ODBC.
In programmatic workflows, Spark SQL integrates seamlessly with Python notebooks (Jupyter, Zeppelin) - Engineers can write a Spark SQL query, wrap it in a DataFrame via , and then feed the results into machine learning Library (scikitly-earn, Tens
الأداء الأمثل لشبكة Spark SQL في مستودعات البيانات
التجزئة والتأشير
وعند تخزين البيانات في باركيت أو أو أورك، يتم تقسيمها بواسطة أعمدة عالية التردد تستخدم في كثير من الأحيان في شروط مثل أو . وسيؤدي هذا الفصل بشكل تلقائي، ويتخطى أدلة غير ذات صلة، وينضم إلى رقم ثابت مثل [Fuckets]
استخدام الاختراق الاستراتيجي
مثلاً، إذا استخدم جدول وقائع أساس في عدة استفسارات في أسفل النهر، فإستخدمه بعد القراءة، استخدمه لربط الذاكرة، وتجنب الطاولات التي تكون كبيرة جداً ولا تستخدم إلا مرة واحدة، حيث أن رأس الذاكرة يبطل الفائدة.
تنفيذ الشروط الإضافية
(ج) Spark 3.0) introduced AQE, which re-optimizes the query plan at runtime based on middle statistics. Enable it with .AQE can handle skew joins, change join strategies, and coalesce shuffitions automatically. For engineering data warehouses with unpredictable data distribution (e.g. manualning time bends from different equipment), AQE automatically.
Leverage Columnar Formats and Predicate Pushdown
(د) تخزن دائماً البيانات في شكل الأعمدة (Parquet or ORC) بدلاً من CSV أو JSON. Spark SQL، لا تقرأ إلا الأعمدة المشار إليها في الاستفسار، وتطبق الفرضية المسبقة على بنود ، وعلى سبيل المثال، فإن الاستفسار مثل لن يقرأ إلا [الصف الخامس والعشرون] [الصف الخامس والعشرون]، [الصف الثاني والعشرون]:
Tune Shuffle Partitions
(ب) تقصيرات Spark SQL إلى 200 شوفل، قد تكون منخفضة جداً بالنسبة لمجموعات البيانات الكبيرة جداً أو عالية جداً بالنسبة للصغيرات، مع تعديل استخدام إلى قيمة تبلغ 2 إلى 3x عدد القاع الأساسية في المجموعة، وبالنسبة للمستودعات الهندسية التي تتردد عليها، فإن الإطار المشترك هو 500 إلى 000 1 جزء.
الموارد الخارجية لمواصلة التعلم
وللغوص أعمق في داخليات شركة Spark SQL وأفضل الممارسات المتبعة في هذا الصدد، النظر في المصادر الموثوقة التالية:
- Apache Spark SQL Guide - وثائق رسمية مع إشارة SQL وتشكيلة وأمثلة.
- Understanding the Catalyst Optimizer on Databricks Blog] — A clear explanation of how Spark SQL optimizes queries.
- Learning Spark, 2nd Edition] - Book covering Spark SQL, DataFrames, and performance tuning in detail.
خاتمة
وقد أصبحت هذه الشبكة حجر الزاوية في مستودعات البيانات الهندسية الحديثة، وهي تبسط الاستفسارات المعقدة بتوفير واجهة توضيحية رفيعة المستوى، بينما لا تزال أفرقة البحث العلمي الموزعة تعمل على نطاق واسع وعلى أداء، ومن خلال الاستشعار الذي يقوم به الساتل " إيوت " إلى تحليل المحاكاة المتكرر، فإن " Spark SQL " تتيح للمهندسين أن يتساءلوا عن أسئلتهم الهندسية المتطورة دون أن يرتقي الحجم.