重要
サブスクリプションが有効になっていない限り、新しい Azure Data Lake Analytics アカウントを作成できなくなります。 サブスクリプションを有効にする必要がある場合は、 サポートに連絡 し、ビジネス シナリオを提供してください。
既に Azure Data Lake Analytics を使用している場合は、2024 年 2 月 29 日までに組織の Azure Synapse Analytics への移行計画 を作成する必要があります。
この記事では、Azure Data Lake Tools for Visual Studio Code (VS Code) を使用して U-SQL スクリプトを作成、テスト、実行する方法について説明します。 この情報は、次のビデオでも取り上げられます。
[前提条件]
Azure Data Lake Tools for VS Code では、Windows、Linux、macOS がサポートされています。 U-SQL ローカル実行とローカル デバッグは、Windows でのみ機能します。
macOS および Linux の場合:
Azure Data Lake Tools をインストールする
前提条件をインストールしたら、Azure Data Lake Tools for VS Code をインストールできます。
Azure Data Lake Tools をインストールするには
Visual Studio Code を開きます。
左側のウィンドウで [拡張機能 ] を選択します。 検索ボックス に「Azure Data Lake Tools 」と入力します。
Azure Data Lake Tools の横にある [インストール] を選択します。
数秒後、[ インストール ] ボタンが [再読み込み] に変わります。
[ 再読み込み ] を選択して 、Azure Data Lake Tools 拡張機能をアクティブ化します。
[ ウィンドウの再読み込み] を選択して確認します。 [拡張機能] ウィンドウに Azure Data Lake Tools が表示されます。
Azure Data Lake Tools のアクティブ化
.usql ファイルを作成するか、既存の .usql ファイルを開いて拡張機能をアクティブにします。
U-SQL の操作
U-SQL を使用するには、U-SQL ファイルまたはフォルダーを開く必要があります。
サンプル スクリプトを開くには
コマンド パレット (Ctrl + Shift + P) を開き、「 ADL: サンプル スクリプトを開く」と入力します。 このサンプルの別のインスタンスが開きます。 このインスタンスでスクリプトを編集、構成、送信することもできます。
U-SQL プロジェクトのフォルダーを開くには
Visual Studio Code で [ ファイル ] メニューを選択し、[ フォルダーを開く] を選択します。
フォルダーを指定し、[フォルダーの選択] を 選択します。
[ ファイル ] メニューを選択し、[ 新規] を選択します。 Untitled-1 ファイルがプロジェクトに追加されます。
Untitled-1 ファイルに次のコードを入力します。
@departments = SELECT * FROM (VALUES (31, "Sales"), (33, "Engineering"), (34, "Clerical"), (35, "Marketing") ) AS D( DepID, DepName );
OUTPUT @departments を "/Output/departments.csv" に出力し、Outputters.Csv() を使用します。
このスクリプトは、/output フォルダーに含まれるデータを含む departments.csv ファイルを作成します。
開いたフォルダーに myUSQL.usql としてファイルを保存します。
U-SQL スクリプトをコンパイルするには
- Ctrl + Shift + P キーを押してコマンド パレットを開きます。
- ADL: コンパイル スクリプトを入力します。 コンパイル結果が 出力 ウィンドウに表示されます。 スクリプト ファイルを右クリックし、[ ADL: スクリプトのコンパイル ] を選択して U-SQL ジョブをコンパイルすることもできます。 コンパイル結果が [出力 ] ウィンドウに表示されます。
U-SQL スクリプトを送信するには
- Ctrl + Shift + P キーを押してコマンド パレットを開きます。
- ADL: Submit Job を入力します。 スクリプト ファイルを右クリックし、[ ADL: ジョブの送信] を選択することもできます。
U-SQL ジョブを送信すると、送信ログが VS Code の [出力 ] ウィンドウに表示されます。 ジョブ ビューが右側のウィンドウに表示されます。 送信が成功すると、ジョブの URL も表示されます。 Web ブラウザーでジョブ URL を開いて、リアルタイムジョブの状態を追跡できます。
ジョブ ビューの [概要 ] タブで、ジョブの詳細を確認できます。 主な機能には、スクリプトの再送信、スクリプトの複製、ポータルでの開きなどがあります。 ジョブ ビューの [ データ ] タブでは、入力ファイル、出力ファイル、およびリソース ファイルを参照できます。 ファイルはローカル コンピューターにダウンロードできます。
既定のコンテキストを設定するには
ファイルのパラメーターを個別に設定していない場合は、既定のコンテキストを設定して、すべてのスクリプト ファイルにこの設定を適用できます。
Ctrl + Shift + P キーを押してコマンド パレットを開きます。
ADL を入力: 既定のコンテキストを設定します。 または、スクリプト エディターを右クリックし、[ ADL: 既定のコンテキストの設定] を選択します。
目的のアカウント、データベース、スキーマを選択します。 この設定は、xxx_settings.json 構成ファイルに保存されます。
スクリプト パラメーターを設定するには
Ctrl + Shift + P キーを押してコマンド パレットを開きます。
ADL を入力: スクリプト パラメーターを設定します。
xxx_settings.json ファイルは、次のプロパティで開かれます。
- アカウント: U-SQL ジョブをコンパイルして実行するために必要な Azure サブスクリプションの Azure Data Lake Analytics アカウント。 U-SQL ジョブをコンパイルして実行する前に、コンピューター アカウントを構成する必要があります。
- database: アカウントの下のデータベース。 既定値は master です。
- schema: データベースの下のスキーマ。 既定値は dbo です。
-
optionalSettings:
- priority: 優先度の範囲は 1 から 1000 で、1 が最も高い優先度です。 既定値は 1000 です。
- degreeOfParallelism: 並列処理の範囲は 1 から 150 です。 既定値は、Azure Data Lake Analytics アカウントで許可される最大並列処理です。
注
構成を保存すると、既定のコンテキストを設定していない場合は、対応する .usql ファイルの左下隅にあるステータス バーにアカウント、データベース、およびスキーマの情報が表示されます。
Git ignore を設定するには
Ctrl + Shift + P キーを押してコマンド パレットを開きます。
「ADL: Set Git Ignore」と入力します。
- VS Code 作業フォルダーに .gitIgnore ファイルがない場合は、フォルダーに .gitIgnore という名前のファイルが作成されます。 既定では、4 つの項目 (usqlCodeBehindReference、 usqlCodeBehindGenerated、 .cache、 obj) がファイルに追加されます。 必要に応じて、さらに更新を行うことができます。
- VS Code 作業フォルダーに .gitIgnore ファイルが既にある場合、4 つの項目がファイルに含まれていない場合、ツールは .gitIgnore ファイルに 4 つの項目 (usqlCodeBehindReference、usqlCodeBehindGenerated、.cache、obj) を追加します。
コードビハインドファイル (C#、Python、R) を扱う
Azure Data Lake Tools では、複数のカスタム コードがサポートされています。 手順については、「 VS Code での Azure Data Lake Analytics 用の Python、R、C Sharp を使用した U-SQL の開発」を参照してください。
アセンブリの操作
アセンブリの開発については、「 Azure Data Lake Analytics ジョブ用の U-SQL アセンブリの開発」を参照してください。
Data Lake Tools を使用して、カスタム コード アセンブリを Data Lake Analytics カタログに登録できます。
アセンブリを登録するには
アセンブリは、 ADL: Register Assembly または ADL: Register Assembly (Advanced) コマンドを使用して登録できます。
ADL: Register Assembly コマンドを使用して登録するには
- Ctrl + Shift + P キーを押してコマンド パレットを開きます。
- 「ADL: Register Assembly」と入力します。
- ローカル アセンブリ パスを指定します。
- Data Lake Analytics アカウントを選択します。
- データベースを選択します。
ポータルがブラウザーで開き、アセンブリ登録プロセスが表示されます。
ADL の [アセンブリの登録] コマンドをトリガーするより便利な方法は、エクスプローラーで .dll ファイルを右クリックすることです。
ADL: Register Assembly (Advanced) コマンドを使用して登録するには
Ctrl + Shift + P キーを押してコマンド パレットを開きます。
「ADL: Register Assembly (Advanced)」と入力します。
ローカル アセンブリ パスを指定します。
JSON ファイルが表示されます。 必要に応じて、アセンブリの依存関係とリソース パラメーターを確認して編集します。 出力 ウィンドウに 指示が表示されます。 アセンブリ登録に進むには、JSON ファイルを保存 (Ctrl + S) します。
注
- Azure Data Lake Tools は、DLL にアセンブリの依存関係があるかどうかを自動検出します。 依存関係は、検出された後に JSON ファイルに表示されます。
- アセンブリ登録の一部として、DLL リソース (.txt、.png、.csvなど) をアップロードできます。
ADL: Register Assembly (Advanced) コマンドをトリガーするもう 1 つの方法は、エクスプローラーで .dll ファイルを右クリックすることです。
次の U-SQL コードは、アセンブリを呼び出す方法を示しています。 このサンプルでは、アセンブリ名は テストです。
REFERENCE ASSEMBLY [test];
@a =
EXTRACT
Iid int,
Starts DateTime,
Region string,
Query string,
DwellTime int,
Results string,
ClickedUrls string
FROM @"Sample/SearchLog.txt"
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 @"Sample/SearchLogtest.txt"
USING Outputters.Tsv();
Windows ユーザーに対して U-SQL ローカル実行とローカル デバッグを使用する
U-SQL ローカル実行では、ローカル データがテストされ、コードが Data Lake Analytics に発行される前にスクリプトがローカルで検証されます。 コードが Data Lake Analytics に送信される前に、ローカル デバッグ機能を使用して次のタスクを完了できます。
- C# のコードビハインドをデバッグします。
- コードをステップ実行する。
- スクリプトをローカルで検証します。
ローカル実行およびローカル デバッグ機能は Windows 環境でのみ機能し、macOS および Linux ベースのオペレーティング システムではサポートされていません。
ローカル実行とローカル デバッグの手順については、 Visual Studio Code での U-SQL ローカル実行とローカル デバッグに関するページを参照してください。
Azure に接続する
Data Lake Analytics で U-SQL スクリプトをコンパイルして実行する前に、Azure アカウントに接続する必要があります。
コマンドを使用して Azure に接続するには
Ctrl + Shift + P キーを押してコマンド パレットを開きます。
ADL: Login と入力します。 右下にサインイン情報が表示されます。
[コピー]、[開く] の順に選択して、ログイン Web ページを開きます。 コードをボックスに貼り付け、[ 続行] を選択します。
指示に従って、Web ページからサインインします。 接続すると、VS Code ウィンドウの左下隅にあるステータス バーに Azure アカウント名が表示されます。
注
- サインアウトしない場合、次回は Data Lake Tools によって自動的にサインインされます。
- アカウントで 2 つの要素が有効になっている場合は、PIN を使用するのではなく、電話認証を使用することをお勧めします。
サインアウトするには、 ADL: Logout コマンドを入力します。
エクスプローラーから Azure に接続するには
[AZURE DATALAKE] を展開し、[Azure にサインイン] を選択し、「コマンドを使用して Azure に接続するには」の手順 3 と手順 4 に従います。
エクスプローラーからサインアウトすることはできません。 サインアウトするには、「 コマンドを使用して Azure に接続するには」を参照してください。
抽出スクリプトを作成する
ADL: CREATE EXTRACT Script または Azure Data Lake Explorer を使用して、.csv、.tsv、および .txt ファイルの抽出スクリプトを作成できます。
コマンドを使用して抽出スクリプトを作成するには
- Ctrl + Shift + P キーを押してコマンド パレットを開き、「 ADL: CREATE EXTRACT Script」と入力します。
- Azure Storage ファイルの完全なパスを指定し、Enter キーを押します。
- 1 つのアカウントを選択します。
- .txt ファイルの場合は、区切り記号を選択してファイルを抽出します。
抽出スクリプトは、エントリに基づいて生成されます。 列を検出できないスクリプトの場合は、2 つのオプションから 1 つを選択します。 そうでない場合は、1 つのスクリプトのみが生成されます。
エクスプローラーから抽出スクリプトを作成するには
抽出スクリプトを作成するもう 1 つの方法は、Azure Data Lake Store または Azure Blob Storage の .csv、.tsv、または .txt ファイルの右クリック (ショートカット) メニューを使用することです。