نشر بتاريخ : 22 الجمعة , يوليو, 2022

ما هو u-sql ؟

هي لغة استعلام أنشئتها Microsoft تجمع بين بناء جملة تعريفي يشبه SQL مع برمجة C # ، مما يتيح استخدامها لمعالجة البيانات المهيكلة وغير المهيكلة في بيئات البيانات الضخمة .

U-SQL هي لغة  استعلام أنشئتها  Microsoft تجمع بين بناء جملة تعريفي يشبه SQL مع برمجة C # ، مما يتيح استخدامها لمعالجة البيانات المهيكلة وغير المهيكلة في بيئات البيانات الضخمة . تم طرح U-SQL في عام 2015 ، وهو جزء من خدمة Azure Data Lake Analytics السحابية من Microsoft ، ولكنه يتيح للمستخدمين تشغيل استعلامات مقابل مخازن بيانات متعددة في سحابة Azure .

SQL هي اللغة القياسية للاستعلام عن قواعد البيانات العلائقية ، بينما C # (تُنطق "C-sharp") هي لغة برمجة طورتها Microsoft. قامت الشركة بدمجها لإنشاء U-SQL استجابة لظهور أنظمة البيانات الضخمة ، والتي غالبًا ما تخزن البيانات غير المهيكلة التي يمكن أن تشكل تحديات مختلفة لـ SQL ولغات البرمجة الإجرائية. تم تصميم U-SQL لتوحيد النهجين من خلال بناء القابلية للتوسعة الأصلية لرمز C # الذي يكتبه المستخدم في تطبيق SQL.

 

قدرات U-SQL

تعود جذور U-SQL إلى لغة برمجة نصية تعريفية وقابلة للتوسيع تسمى SCOPE تستخدمها Microsoft داخليًا. في ورقة بحثية صدرت عام 2008 ، قالت الشركة إنها طورت SCOPE - اختصارًا للحسابات الهيكلية المحسّنة للتنفيذ المتوازي - لتمكين محللي البيانات المألوفين في SQL من الاستعلام عن سجلات البحث ، ودفق النقر على الإنترنت ومجموعات البيانات الضخمة الأخرى التي يتم تخزينها بشكل متزايد في الموزعة. الأنظمة الأساسية مثل Hadoop بدلاً من قواعد البيانات العلائقية المستندة إلى SQL.

يعتمد التكامل بين SQL و C # في U-SQL على SCOPE ، وكذلك تنفيذ استعلام U-SQL وإطار عمل التحسين. تم تصميم نظام البيانات الوصفية لـ U-SQL وبناء جملة SQL ودلالات اللغة وفقًا لمعيار ANSI SQL و Transact-SQL ( T-SQL ) ، وهو تطبيق Microsoft للغة الاستعلام لقاعدة بيانات SQL Server الخاصة بها . ومع ذلك ، لا تلتزم U-SQL بشكل كامل بـ ANSI SQL ؛ على سبيل المثال ، يجب كتابة أوامر مثل SELECT بأحرف كبيرة ، ويستخدم بناء جملة C # للتعبيرات داخل الأوامر.  

تقول Microsoft إن U-SQL يسمح للمستخدمين بمعالجة أي نوع من البيانات وعلى أي نطاق. تقوم اللغة تلقائيًا بتوسيع نطاق الاستعلامات لتوظيف موارد النظام المتاحة ، مما يتيح للمستخدمين التركيز على الاستعلام عن البيانات بدلاً من تلبية احتياجات البنية التحتية أو كتابة ما تسميه Microsoft "رمز السباكة".

بصفته أحد مكونات النظام الأساسي لـ Azure Data Lake من Microsoft ، فإن U-SQL هي اللغة المضمنة لتحليل مجموعات البيانات في Azure Data Lake Store ، والتي يتم إقرانها مع خدمة التحليلات لتوفير بيئة بحيرة البيانات في السحابة. يمكن أيضًا استخدام U-SQL لتشغيل الاستعلامات مقابل مخازن البيانات العلائقية التي تتضمن قاعدة بيانات Azure SQL ، وابن عم SQL Server المستند إلى مجموعة النظراء ، بالإضافة إلى مستودع بيانات Azure SQL ، وتخزين Azure Blob ومثيلات SQL Server التي تم إعدادها في أجهزة Azure الظاهرية .

 

كيفية استخدام U-SQL

تتم كتابة كود U-SQL كنصوص تتضمن سلسلة من العبارات لبدء إجراءات المعالجة. في الوقت الحالي ، تدعم خدمة Azure Data Lake Analytics فقط مهام المعالجة المجمعة عبر U-SQL. نتيجة لذلك ، لا يمكن للاستعلامات إرجاع النتائج مباشرة ؛ وفقًا لمايكروسوفت ، عادةً ما يتم تنظيم البرامج النصية لـ U-SQL لاسترداد البيانات من أنظمة المصدر بتنسيق مجموعة صفوف ، وتحويلها حسب الحاجة ثم إخراج البيانات المحولة إلى ملف أو جدول U-SQL للتحليل.

لمعالجة مجموعات البيانات غير المهيكلة في بحيرة البيانات ، يمكن لمستخدمي U-SQL تطبيق المخطط عند القراءة - وهو نهج شائع في أنظمة البيانات الضخمة لا يتطلب التوافق مع مخطط جامد ، كما تفعل قواعد البيانات العلائقية. يمكن أيضًا إدراج منطق المعالجة المخصص ومجموعة متنوعة من الوظائف والأنواع والتجمعات والكائنات التي يحددها المستخدم - بما في ذلك المستخلصات والمعالجات والمخرجات والمزيد - في البرامج النصية.

تُظهر الصورة أدناه مثالًا بسيطًا لبرنامج U-SQL النصي من Microsoft. في هذه الحالة ، لا يتضمن البرنامج النصي أي تحويلات للبيانات - فهو يستخرج البيانات من ملف مصدر سجل البحث ، ويطبق مخططًا ويكتب مجموعة الصفوف الناتجة في ملف CSV:

مثال على برنامج نصي لـ U-SQL
يمكن كتابة البرامج النصية لـ U-SQL وإرسالها إلى خدمة Azure Data Lake Analytics للتنفيذ في Visual Studio 2017 ، باستخدام مكون إضافي يسمى Azure Data Lake و Stream Analytics Tools. ملحق U-SQL متاح أيضًا لبرنامج Visual Studio Code ، محرر التعليمات البرمجية خفيف الوزن من Microsoft ؛ تُعرف ببساطة باسم أدوات Azure Data Lake. بالإضافة إلى ذلك ، يمكن للمستخدمين تشغيل وظائف U-SQL مقابل Azure Data Lake Analytics عبر بوابة Azure أو واجهة سطر أوامر Azure CLI أو Azure PowerShell .   
يتم عرض مخازن البيانات الأخرى التي يمكن الاستعلام عنها باستخدام U-SQL كمصادر بيانات خارجية. يحتاج المستخدمون إلى تشغيل استعلامات موحدة ضدهم ، وهي عملية تتضمن إنشاء كائنات مصدر بيانات في U-SQL لتلخيص تفاصيل كيفية الاتصال بمخزن بيانات معين وتسليم الاستعلامات إلى محرك الاستعلام الخاص به للتنفيذ.
تقول Microsoft إن القدرة على دمج كود C # المخصص في نصوص U-SQL تسمح للمستخدمين بالتعبير عن خوارزميات الأعمال المعقدة كجزء من الاستعلامات. كما أن استخدام أنواع C # كنمط تشفير افتراضي يجعل من السهل على المستخدمين تصور كيفية معالجة البيانات أثناء كتابة الاستعلامات ، وفقًا للشركة.