0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Azure DataLake Analytics V1でU-SQL Tablesに直接アクセスするには?

Posted at

Azure DataLake Analytics (ADLA)でのU-SQL Tables

ADLAのU-SQLデータベースとは、ADLSのストレージ内に用意されたファイルベースの分散テーブルです。parquetとかのようなものと思っておけば良いようです。

U-SQL Tables

通常はcsvやほかのデータソースから入力して、csvで吐く、という風にしますが、U-SQLに最適化されたU-SQL Tablesの方が以下のメリットがあります。

  • 速い : リードライトともかなり速くなります。
  • 簡単 : 何と、リードライト時にスキーマを書かないで良いです。また、schema on readで生成できるので、最初にCreateする時も何も定義はいりません。(定義することも可能)
  • 永続性 : 当然ですが、バックはファイルなので、永続性があります。ただ、アクセスはデータベースのように専用のSQLコマンドベースが基本です。
  • 閲覧性 : 後述する専用のビュアーで、SQLデータベースと同じように、スキーマの確認など管理ができます。

U-SQL Tables - U-SQL Tutorial

に書いてあるように、非常に簡単に生成、読込などが可能なので、一度ADLSからロードできたものは全てU-SQL Tablesに変換したくなります。
容量は食うので、その辺はコストとの相談で。

@customers  = 
  SELECT * FROM 
    (VALUES
       ("Contoso",   123 ),
       ("Woodgrove", 456 )
    ) AS D( Customer, Id  );

DROP TABLE IF EXISTS MyDB.dbo.Customers;

CREATE TABLE MyDB.dbo.Customers
( 
    INDEX idx  
    CLUSTERED(customer ASC)
    DISTRIBUTED BY HASH(customer) 
) AS SELECT * FROM @customers;
@rs = 
  SELECT * 
  FROM MyDB.dbo.Customers;

U-SQL Tablesへ直接アクセスするには?

基本は、上記のCREATE,SELECTなどを使って、読み書きを行います。ただ、保存した後のテーブルのブラウズなどは方法が限られています。

Azure Portal は×

簡単な削除などのオペレーションは、ポータルから出来ると便利と思っているのですが、残念ながら、ファイルのみでTablesの閲覧には対応していません。

image.png

実はTablesの実体は以下のような、"database"フォルダ内に格納されていますが、テーブル名で探すことすらできず操作できません。

image.png

Azure Cloud Explorer は×

Data Lake Storeのアクセスが可能になっていますが、ファイルのみでTablesの閲覧には対応しておりません。

image.png

Azure DataLake Tool for Visual Studio は〇

Develop U-SQL scripts by using Data Lake Tools for Visual Studio

image.png

Visual Studio 用のADLA/U-SQL環境をメインで使う人が多いと思いますが、同拡張を入れると、Server ExplorerにADLAおよびU-SQL Tablesのブラウザが追加されます。テーブルの閲覧、簡易統計の表示、スキーマの確認などがスムーズに行えます。

image.png

これによりcsvなどと比べても、削除、結果のプレビューなどについても、同等の使い勝手になり、開発がはかどります。

Azure DataLake Tool for Visual Studio Code は〇

Use Azure Data Lake Tools for Visual Studio Code

image.png

Visual Studio CodeにもDataLakeツールが早期から統合されています。DataLakeのブラウザの中にはちゃんとU-SQL Tablesが見れます。中々軽快に動くので、ストレスが無いですね。ただ、Visual Studio用のプラグインと、見え方が少し異なるようです。

image.png

まとめ

U-SQLをデータ処理の主体として使うにはやはり、VisualStudioやVisualStudio Codeをベースに開発をした方が効率的です。
そのうちブラウザだけで同様な事が出来る統合環境が・・・できないですねorz

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?