Visual Studio Code'da Azure Data Lake Analytics için Python, R ve C# ile U-SQL geliştirme
U-SQL ile arka planda Python, R ve C# kodu yazmak ve Azure Data Lake hizmetine iş göndermek için Visual Studio Code (VS Code) kullanmayı öğrenin. VS Code için Azure Data Lake Araçları hakkında daha fazla bilgi için bkz. Visual Studio için Azure Data Lake Araçları Kodunu Kullanma.
Arka planda kod yazmadan önce, VS Code'da bir klasör veya çalışma alanı açmanız gerekir.
Python ve R önkoşulları
ADL hesabınız için Python ve R uzantı derlemelerini kaydedin.
Hesabınızı portalda açın.
- Genel bakış'ı seçin.
- Örnek Betik'i seçin.
Diğer'i seçin.
U-SQL Uzantılarını Yükle'yi seçin.
U-SQL uzantıları yüklendikten sonra onay iletisi görüntülenir.
Not
Python ve R dil hizmetiyle ilgili en iyi deneyimler için lütfen VSCode Python ve R uzantısını yükleyin.
Python dosyası geliştirme
Çalışma alanınızda Yeni Dosya'ya tıklayın.
Kodunuzu U-SQL'de yazın. Aşağıda bir kod örneği verilmiştir.
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();
Bir betik dosyasına sağ tıklayın ve ardından ADL: Dosyanın Arkasında Python Kodu Oluştur'u seçin.
xxx.usql.py dosyası çalışma klasörünüzde oluşturulur. Kodunuzu Python dosyasına yazın. Aşağıda bir kod örneği verilmiştir.
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 dosyasına sağ tıklayın, Betiği Derle'yi veya İşi çalışan işe gönder'i seçebilirsiniz.
R dosyası geliştirme
Çalışma alanınızda Yeni Dosya'ya tıklayın.
Kodunuzu U-SQL dosyasına yazın. Aşağıda bir kod örneği verilmiştir.
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 dosyasına sağ tıklayın ve ADL: Dosyanın Arkasında R Kodu Oluştur'u seçin.
xxx.usql.r dosyası çalışma klasörünüzde oluşturulur. Kodunuzu R dosyasına yazın. Aşağıda bir kod örneği verilmiştir.
load("my_model_LM_Iris.rda") outputToUSQL=data.frame(predict(lm.fit, inputFromUSQL, interval="confidence"))
USQL dosyasına sağ tıklayın, Betiği Derle'yi veya İşi çalışan işe gönder'i seçebilirsiniz.
C# dosyası geliştirme
Arka planda kod dosyası, tek bir U-SQL betiğiyle ilişkilendirilmiş bir C# dosyasıdır. Arka planda kod dosyasında UDO, UDA, UDT ve UDF'ye ayrılmış bir betik tanımlayabilirsiniz. UDO, UDA, UDT ve UDF, derlemeyi kaydetmeden doğrudan betikte kullanılabilir. Arkadaki kod dosyası, eşleme U-SQL betik dosyasıyla aynı klasöre konur. Betiğin adı xxx.usql ise, arkadaki kod xxx.usql.cs olarak adlandırılır. Arka planda kod dosyasını el ile silerseniz, ilişkili U-SQL betiği için arka planda kod özelliği devre dışı bırakılır. U-SQL betiği için müşteri kodu yazma hakkında daha fazla bilgi için bkz. U-SQL'de Özel Kod Yazma ve Kullanma: User-Defined İşlevleri.
Çalışma alanınızda Yeni Dosya'ya tıklayın.
Kodunuzu U-SQL dosyasına yazın. Aşağıda bir kod örneği verilmiştir.
@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 dosyasına sağ tıklayın ve ADL: Dosyanın Arkasında CS Kodu Oluştur'u seçin.
xxx.usql.cs dosyası çalışma klasörünüzde oluşturulur. Kodunuzu CS dosyasına yazın. Aşağıda bir kod örneği verilmiştir.
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 dosyasına sağ tıklayın, Betiği Derle'yi veya İşi çalışan işe gönder'i seçebilirsiniz.
Sonraki adımlar
- Visual Studio Code için Azure Data Lake Araçları’nı kullanma
- Visual Studio Code ile U-SQL yerel çalıştırma ve yerel hata ayıklama
- PowerShell kullanarak Data Lake Analytics kullanmaya başlama
- Azure portal kullanarak Data Lake Analytics kullanmaya başlama
- U-SQL uygulamaları geliştirmek için Visual Studio için Data Lake Araçları'nı kullanma
- Data Lake Analytics(U-SQL) kataloğunu kullanma