Mengembangkan U-SQL dengan Python, R, dan C Sharp untuk Azure Data Lake Analytics di Visual Studio Code
Pelajari cara menggunakan Visual Studio Code (VS Code) untuk menulis kode Python, R dan C# di belakang dengan U-SQL dan mengirimkan pekerjaan ke layanan Azure Data Lake. Untuk informasi selengkapnya tentang Azure Data Lake Tools for VS Code, lihat Menggunakan Azure Data Lake Tools untuk Visual Studio Code.
Sebelum menulis kode kustom di belakang kode, Anda perlu membuka folder atau ruang kerja di Visual Studio Code.
Prasyarat untuk Python dan R
Daftarkan Python dan, rakitan ekstensi R untuk akun ADL Anda.
Buka akun Anda di portal.
- Pilih Gambaran umum.
- Pilih Contoh Skrip.
Pilih Lainnya.
Pilih Instal Ekstensi U-SQL.
Pesan konfirmasi ditampilkan setelah ekstensi U-SQL diinstal.
Catatan
Untuk pengalaman terbaik tentang layanan bahasa Python dan R, silakan instal ekstensi VSCode Python dan R.
Mengembangkan file Python
Pilih File Baru di ruang kerja Anda.
Tulis kode Anda di U-SQL. Berikut ini adalah sampel kode.
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();
Klik kanan file skrip, lalu pilih ADL: Hasilkan File Code-Behind Python.
Berkas xxx.usql.py dibuat di dalam folder kerja Anda. Tulis kode Anda dalam file Python. Berikut ini adalah sampel kode.
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
Klik kanan dalam file USQL , Anda dapat memilih Kompilasi Skrip atau Kirim Pekerjaan untuk menjalankan pekerjaan.
Mengembangkan file R
Pilih File Baru di ruang kerja Anda.
Tulis kode Anda di U-SQL. Berikut ini adalah sampel kode.
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();
Klik kanan dalam file USQL, lalu pilih ADL: Hasilkan File Code-Behind R.
Berkas xxx.usql.r dibuat di dalam folder kerja Anda. Tulis kode Anda di U-SQL. Berikut ini adalah sampel kode.
load("my_model_LM_Iris.rda") outputToUSQL=data.frame(predict(lm.fit, inputFromUSQL, interval="confidence"))
Klik kanan dalam file USQL , Anda dapat memilih Kompilasi Skrip atau Kirim Pekerjaan untuk menjalankan pekerjaan.
Mengembangkan file C#
File code-behind adalah file C# yang terkait dengan satu skrip kueri SQL. Anda dapat menentukan skrip yang didedikasikan untuk UDO, UDA, UDT, dan UDF dalam file code-behind. UDO, UDA, UDT, dan UDF dapat digunakan langsung dalam skrip tanpa mendaftarkan assembly terlebih dahulu. File code-behind dimasukkan ke dalam folder yang sama dengan file skrip U-SQL peering-nya. Jika skrip diberi nama xxx.usql, kode-di belakang dinamai xxx.usql.cs. Jika Anda menghapus file code-behind secara manual, fitur code-behind dinonaktifkan untuk skrip U-SQL terkait. Untuk informasi selengkapnya tentang menulis kode pelanggan untuk skrip U-SQL, lihat Menulis dan Menggunakan Kode Kustom di U-SQL: Fungsi yang Ditentukan Pengguna.
Pilih File Baru di ruang kerja Anda.
Tulis kode Anda di U-SQL. Berikut ini adalah sampel kode.
@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();
Klik kanan dalam file USQL, lalu pilih ADL: hasilkan File Code-Behind CS.
Berkas xxx.usql.cs dibuat di dalam folder kerja Anda. Tulis kode Anda di file CS. Berikut ini adalah sampel kode.
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(); } } }
Klik kanan dalam file USQL , Anda dapat memilih Kompilasi Skrip atau Kirim Pekerjaan untuk menjalankan pekerjaan.
Langkah berikutnya
- Gunakan Azure Data Lake Tools untuk Visual Studio Code
- Jalankan lokal U-SQL dan debug lokal dengan Visual Studio Code
- Memulai Data Lake Analytics menggunakan PowerShell
- Memulai Data Lake Analytics menggunakan portal Azure
- Menggunakan Data Lake Tools for Visual Studio untuk mengembangkan aplikasi U-SQL
- Menggunakan katalog Data Lake Analytics (U-SQL)