U-SQL 入門① ~ U-SQL の基本形 ~

Azure Data Lake Analytics の U-SQL というクエリ言語についてメモ用に基本的な事をまとめていきます。

Azure Data Lake そのものについてや構築方法等はこちらのブログ (Data Platform Tech Sales Team Blog | Azure Data Lake)を見るとわかりやすいと思います。

 

U-SQL とは?

  • SQLC# の拡張を備えたクエリ言語
  • 主にデータの変換や分析のために使われる
  • 構造/非構造化データを取り扱える
  • 分散処理されるため大容量のデータセットに対してのクエリが可能

U-SQL の基本形

@searchlog =
   EXTRACT UserId          int,
          
Start           DateTime,
           Region          string,
           Query           string,
           Duration        int?,
           Urls            string,
           ClickedUrls     string
          
FROM "/Samples/Data/SearchLog.tsv"
  
USING Extractors.Tsv();
 
@rs1 =
  
SELECT Start, Region, Duration
    
FROM @searchlog
  
WHERE Region == "en-gb";
 
OUTPUT @rs1  
  
TO "/output/SearchLog-transform-rowsets.csv"
  
USING Outputters.Csv();

それぞれの個所で以下のような動作をする。

EXRACT の個所

  • /Samples/Data/SearchLog.tsv ファイルを読み込む
  • Extractors.Tsv() でタブで区切る
  • UserId, Start, ... と列名を付与し、データ型も定義
  • @searchlog という変数にセット

SELECT の個所

  • @searchlog に対して SELECT を実行
  • Region 列の値が en-gb のデータにフィルタ
  • Start, Region, Duration 列のみを選択
  • @rs1 変数にセット

OUTPUT の個所

  • @rs1 にセットされた SELECT の結果を /output/SearchLog-transform-rowsets.csv というファイルに書き出す
  • Outputters.Csv() によって CSV フォーマットに変換される

 

Azure Data Lake Analytics

azure.microsoft.com