تطوير U-SQL باستخدام Python وR وC# ل Azure Data Lake Analytics في Visual Studio Code
تعرف على كيفية استخدام Visual Studio Code (VS Code) لكتابة التعليمات البرمجية Python وR وC# في الخلف مع U-SQL وإرسال المهام إلى خدمة Azure Data Lake. لمزيد من المعلومات حول Azure Data Lake Tools ل VS Code، راجع استخدام أدوات Azure Data Lake ل Visual Studio Code.
قبل كتابة التعليمات البرمجية المخصصة في الخلف، تحتاج إلى فتح مجلد أو مساحة عمل في VS Code.
المتطلبات الأساسية ل Python وR
تسجيل تجميعات ملحقات Python وR لحساب ADL الخاص بك.
افتح حسابك في المدخل.
- حدد Overview.
- حدد نموذج البرنامج النصي.
حدد المزيد.
حدد تثبيت ملحقات U-SQL.
يتم عرض رسالة التأكيد بعد تثبيت ملحقات U-SQL.
ملاحظة
للحصول على أفضل التجارب حول خدمة لغة Python وR، يرجى تثبيت ملحق VSCode Python وR.
تطوير ملف Python
حدد New File في مساحة العمل الخاصة بك.
اكتب التعليمات البرمجية الخاصة بك في U-SQL. فيما يلي نموذج التعليمات البرمجية.
REFERENCE ASSEMBLY [ExtPython]; @t = SELECT * FROM (VALUES ("D1","T1","A1","@foo Hello World @bar"), ("D2","T2","A2","@baz Hello World @beer") ) AS D( date, time, author, tweet ); @m = REDUCE @t ON date PRODUCE date string, mentions string USING new Extension.Python.Reducer("pythonSample.usql.py", pyVersion : "3.5.1"); OUTPUT @m TO "/tweetmentions.csv" USING Outputters.Csv();
انقر بزر الماوس الأيمن فوق ملف برنامج نصي، ثم حدد ADL: Generate Python Code Behind File.
يتم إنشاء ملف xxx.usql.py في مجلد العمل الخاص بك. اكتب التعليمات البرمجية الخاصة بك في ملف Python. فيما يلي نموذج التعليمات البرمجية.
def get_mentions(tweet): return ';'.join( ( w[1:] for w in tweet.split() if w[0]=='@' ) ) def usqlml_main(df): del df['time'] del df['author'] df['mentions'] = df.tweet.apply(get_mentions) del df['tweet'] return df
انقر بزر الماوس الأيمن في ملف USQL ، يمكنك تحديد التحويل البرمجي للبرنامج النصي أو إرسال المهمة إلى مهمة قيد التشغيل.
تطوير ملف R
حدد New File في مساحة العمل الخاصة بك.
اكتب التعليمات البرمجية الخاصة بك في ملف U-SQL. فيما يلي نموذج التعليمات البرمجية.
DEPLOY RESOURCE @"/usqlext/samples/R/my_model_LM_Iris.rda"; DECLARE @IrisData string = @"/usqlext/samples/R/iris.csv"; DECLARE @OutputFilePredictions string = @"/my/R/Output/LMPredictionsIris.txt"; DECLARE @PartitionCount int = 10; @InputData = EXTRACT SepalLength double, SepalWidth double, PetalLength double, PetalWidth double, Species string FROM @IrisData USING Extractors.Csv(); @ExtendedData = SELECT Extension.R.RandomNumberGenerator.GetRandomNumber(@PartitionCount) AS Par, SepalLength, SepalWidth, PetalLength, PetalWidth FROM @InputData; // Predict Species @RScriptOutput = REDUCE @ExtendedData ON Par PRODUCE Par, fit double, lwr double, upr double READONLY Par USING new Extension.R.Reducer(scriptFile : "RClusterRun.usql.R", rReturnType : "dataframe", stringsAsFactors : false); OUTPUT @RScriptOutput TO @OutputFilePredictions USING Outputters.Tsv();
انقر بزر الماوس الأيمن في ملف USQL ، ثم حدد ADL: Generate R Code Behind File.
يتم إنشاء ملف xxx.usql.r في مجلد العمل الخاص بك. اكتب التعليمات البرمجية في ملف R. فيما يلي نموذج التعليمات البرمجية.
load("my_model_LM_Iris.rda") outputToUSQL=data.frame(predict(lm.fit, inputFromUSQL, interval="confidence"))
انقر بزر الماوس الأيمن في ملف USQL ، يمكنك تحديد التحويل البرمجي للبرنامج النصي أو إرسال المهمة إلى مهمة قيد التشغيل.
تطوير ملف C#
ملف التعليمات البرمجية في الخلف هو ملف C# مقترن مع برنامج نصي U-SQL واحد. يمكنك تعريف برنامج نصي مخصص ل UDO وUDA وUDT وUDF في ملف التعليمات البرمجية في الخلف. يمكن استخدام UDO وUDA وUDT وUDT مباشرة في البرنامج النصي دون تسجيل التجميع أولا. يتم وضع ملف التعليمات البرمجية في الخلف في نفس المجلد مثل ملف البرنامج النصي U-SQL النظير الخاص به. إذا كان البرنامج النصي يسمى xxx.usql، تتم تسمية التعليمات البرمجية في الخلف على أنها xxx.usql.cs. إذا قمت بحذف ملف التعليمات البرمجية في الخلف يدويا، يتم تعطيل ميزة التعليمات البرمجية الخلفية للبرنامج النصي U-SQL المقترن بها. لمزيد من المعلومات حول كتابة التعليمات البرمجية للعميل للبرنامج النصي U-SQL، راجع كتابة واستخدام التعليمات البرمجية المخصصة في U-SQL: User-Defined Functions.
حدد New File في مساحة العمل الخاصة بك.
اكتب التعليمات البرمجية الخاصة بك في ملف U-SQL. فيما يلي نموذج التعليمات البرمجية.
@a = EXTRACT Iid int, Starts DateTime, Region string, Query string, DwellTime int, Results string, ClickedUrls string FROM @"/Samples/Data/SearchLog.tsv" USING Extractors.Tsv(); @d = SELECT DISTINCT Region FROM @a; @d1 = PROCESS @d PRODUCE Region string, Mkt string USING new USQLApplication_codebehind.MyProcessor(); OUTPUT @d1 TO @"/output/SearchLogtest.txt" USING Outputters.Tsv();
انقر بزر الماوس الأيمن في ملف USQL ، ثم حدد ADL: Generate CS Code Behind File.
يتم إنشاء ملف xxx.usql.cs في مجلد العمل الخاص بك. اكتب التعليمات البرمجية في ملف CS. فيما يلي نموذج التعليمات البرمجية.
namespace USQLApplication_codebehind { [SqlUserDefinedProcessor] public class MyProcessor : IProcessor { public override IRow Process(IRow input, IUpdatableRow output) { output.Set(0, input.Get<string>(0)); output.Set(1, input.Get<string>(0)); return output.AsReadOnly(); } } }
انقر بزر الماوس الأيمن في ملف USQL ، يمكنك تحديد التحويل البرمجي للبرنامج النصي أو إرسال المهمة إلى مهمة قيد التشغيل.
الخطوات التالية
- استخدام أدوات Azure Data Lake ل Visual Studio Code
- تشغيل U-SQL المحلي وتصحيح الأخطاء المحلي باستخدام Visual Studio Code
- بدء استخدام Data Lake Analytics باستخدام PowerShell
- بدء استخدام Data Lake Analytics باستخدام مدخل Microsoft Azure
- استخدام أدوات Data Lake ل Visual Studio لتطوير تطبيقات U-SQL
- استخدام كتالوج Data Lake Analytics (U-SQL)