ローカル コンピューターで U-SQL スクリプトを実行する
重要
Azure Data Lake Analytics は 2024 年 2 月 29 日に廃止されました。 このお知らせで詳細を学びましょう。
データ分析の場合、組織は Azure Synapse Analytics または Microsoft Fabric を使用できます。
U-SQL スクリプトを開発する場合は、スクリプトをローカルで実行することで、時間とコストを節約できます。 Azure Data Lake Tools for Visual Studio では、ローカル コンピューターでの U-SQL スクリプトの実行がサポートされています。
ローカル実行の基本的な概念
次のグラフは、ローカル実行のコンポーネントと、これらのコンポーネントがクラウド実行にどのようにマップされるかを示しています。
コンポーネント | ローカルの実行 | クラウド実行 |
---|---|---|
ストレージ | ローカル データ ルート フォルダー | 既定の Azure Data Lake Store アカウント |
計算する | U-SQL ローカル実行エンジン | Azure Data Lake Analytics サービス |
実行環境 | ローカル コンピューター上の作業ディレクトリ | Azure Data Lake Analytics クラスター |
以下のセクションでは、ローカル実行コンポーネントの詳細について説明します。
ローカル データ ルート フォルダー
ローカル データ ルート フォルダーは、ローカル コンピューティング アカウントのローカル ストア です。 ローカル コンピューター上のローカル ファイル システム内の任意のフォルダーは、ローカル データ ルート フォルダーにすることができます。 これは、Data Lake Analytics アカウントの既定の Azure Data Lake Store アカウントと同じです。 別のデータ ルート フォルダーへの切り替えは、別の既定のストア アカウントに切り替えるのと同じです。
データ ルート フォルダーは次のように使用されます。
- メタデータを格納します。 たとえば、データベース、テーブル、テーブル値関数、アセンブリなどです。
- U-SQL スクリプトで相対パスとして定義されている入力パスと出力パスを検索します。 相対パスを使用すると、U-SQL スクリプトを Azure にデプロイする方が簡単になります。
U-SQL ローカル実行エンジン
U-SQL ローカル実行エンジンは、U-SQL ジョブの ローカル コンピューティング アカウント です。 ユーザーは、Azure Data Lake Tools for Visual Studio を使用して U-SQL ジョブをローカルで実行できます。 ローカル実行は、Azure Data Lake U-SQL SDK のコマンド ライン インターフェイスとプログラミング インターフェイスでもサポートされます。 Azure Data Lake U-SQL SDK の詳細を確認します。
作業ディレクトリ
U-SQL スクリプトを実行する場合、コンパイル結果のキャッシュ、ログの実行、その他の機能の実行には、作業ディレクトリ フォルダーが必要です。 Azure Data Lake Tools for Visual Studio では、作業ディレクトリは U-SQL プロジェクトの作業ディレクトリです。
<U-SQL project root path>/bin/debug>
の下にあります。 作業ディレクトリは、新しい実行がトリガーされるたびにクリーンアップされます。
Microsoft Visual Studio でのローカル実行
Azure Data Lake Tools for Visual Studio には、組み込みのローカル実行エンジンがあります。 このツールは、エンジンをローカル コンピューティング アカウントとして表示します。 U-SQL スクリプトをローカルで実行するには、スクリプト のエディターの 余白ドロップダウン メニューでローカル コンピューターまたは ローカル プロジェクト アカウントを選択します。 次に、[送信] を選択 します。
ローカルマシンアカウントでのローカル実行
ローカル マシン アカウントは、ローカル ストア アカウントとして 1 つのローカル データ ルート フォルダーを持つ共有ローカル コンピューティング アカウントです。 既定では、データ ルート フォルダーは C:\Users<username>\AppData\Local\USQLDataRoot にあります。 また、 Tools>Data Lake>Options と Settings を使用して構成することもできます。
ローカル実行には U-SQL プロジェクトが必要です。 U-SQL プロジェクトの作業ディレクトリは、U-SQL ローカル実行作業ディレクトリに使用されます。 コンパイル結果、実行ログ、およびその他のジョブ実行関連ファイルが生成され、ローカル実行時に作業ディレクトリ フォルダーの下に格納されます。 スクリプトを再実行するたびに、作業ディレクトリ内のすべてのファイルがクリーンアップされ、再生成されます。
ローカル プロジェクト アカウントを使用したローカル実行
ローカル プロジェクト アカウントは、分離されたローカル データ ルート フォルダーを持つ各プロジェクトのプロジェクト分離ローカル コンピューティング アカウントです。 Visual Studio のソリューション エクスプローラーで開くすべてのアクティブな U-SQL プロジェクトには、対応する (Local-project: <project name>)
アカウントがあります。 アカウントは、Visual Studio のサーバー エクスプローラーと U-SQL スクリプト エディターの余白の両方に表示されます。
ローカル プロジェクト アカウントは、クリーンで分離された開発環境を提供します。 ローカル マシン アカウントには、すべてのローカル ジョブのメタデータと入力データと出力データを格納する共有ローカル データ ルート フォルダーがあります。 ただし、 ローカル プロジェクト アカウントでは、U-SQL スクリプトが実行されるたびに、U-SQL プロジェクトの作業ディレクトリの下に一時的なローカル データ ルート フォルダーが作成されます。 この一時データ ルート フォルダーは、再構築または再実行が行われるとクリーンアップされます。
U-SQL プロジェクトは、プロジェクト参照とプロパティを使用して、分離されたローカル実行環境を管理します。 プロジェクト環境と参照先データベース環境の両方で、U-SQL スクリプトの入力データ ソースを構成できます。
ローカル プロジェクト アカウントの入力データ ソースを管理する
U-SQL プロジェクトは、ローカル データ ルート フォルダーを作成し、 ローカル プロジェクト アカウントのデータを設定します。 一時データ ルート フォルダーは、再構築とローカル実行が行われるたびに、U-SQL プロジェクトの作業ディレクトリの下でクリーンアップおよび再作成されます。 U-SQL プロジェクトによって構成されているすべてのデータ ソースは、ローカル ジョブを実行する前に、この一時ローカル データ ルート フォルダーにコピーされます。
データ ソースのルート フォルダーを構成できます。 U-SQL プロジェクト>Property>Test データ ソースを右クリックします。 ローカル プロジェクト アカウントで U-SQL スクリプトを実行すると、テスト データ ソース フォルダー内のすべてのファイルとサブフォルダーが一時ローカル データ ルート フォルダーにコピーされます。 サブフォルダーの下にファイルが含まれています。 ローカル ジョブの実行後、出力結果は、プロジェクト作業ディレクトリの一時的なローカル データ ルート フォルダーの下にも見つかります。 この出力はすべて、プロジェクトの再構築とクリーンアップが行われると削除され、クリーンアップされます。
Local-project アカウントの参照先データベース環境を管理する
U-SQL クエリで U-SQL データベース オブジェクトを使用またはクエリする場合は、U-SQL スクリプトをローカルで実行する前に、データベース環境をローカルで準備しておく必要があります。 ローカル プロジェクト アカウントの場合、U-SQL データベースの依存関係は U-SQL プロジェクト参照によって管理できます。 U-SQL データベース プロジェクト参照を U-SQL プロジェクトに追加できます。 ローカル プロジェクト アカウントで U-SQL スクリプトを実行する前に、参照されているすべてのデータベースが一時ローカル データ ルート フォルダーに配置されます。 また、実行ごとに、一時データ ルート フォルダーは新しい分離環境としてクリーンアップされます。
この関連記事を参照してください。
- U-SQL データベース プロジェクトで U-SQL データベースの定義と参照を管理する方法について説明します。
Local-machine アカウントと Local-project アカウントの違い
ローカル マシン アカウントは、ユーザーのローカル コンピューターで Azure Data Lake Analytics アカウントをシミュレートします。 Azure Data Lake Analytics アカウントと同じエクスペリエンスを共有します。 ローカル プロジェクト アカウントは、ユーザーフレンドリなローカル開発環境を提供します。 この環境は、ユーザーがスクリプトをローカルで実行する前に、データベース参照と入力データをデプロイするのに役立ちます。 ローカル マシン アカウントは、すべてのプロジェクトからアクセスできる共有の永続的な環境を提供します。 ローカル プロジェクト アカウントは、プロジェクトごとに分離された開発環境を提供します。 実行ごとに更新されます。 ローカル プロジェクト アカウントでは、新しい変更をすばやく適用することで、開発エクスペリエンスを高速化できます。
次の表に、 Local-machine アカウントと Local-project アカウントの違いを示します。
角度差 | ローカルマシン | ローカルプロジェクト |
---|---|---|
地域アクセス | すべてのプロジェクトからアクセスできます。 | このアカウントにアクセスできるのは、対応するプロジェクトだけです。 |
ローカル データ ルート フォルダー | 永続的なローカル フォルダー。 Tools>Data Lake>Options と Settings を使用して構成します。 | U-SQL プロジェクトの作業ディレクトリの下にローカル実行ごとに作成された一時フォルダー。 再構築または再実行が行われると、フォルダーがクリーンアップされます。 |
U-SQL スクリプトの入力データ | 永続的ローカルデータルートフォルダーの下にある相対パス。 | U-SQL プロジェクト プロパティを使用して設定します>データ ソースのテスト。 すべてのファイルとサブフォルダーは、ローカル実行の前に一時データ ルート フォルダーにコピーされます。 |
U-SQL スクリプトの出力データ | 永続的なローカルデータのルートフォルダー配下の相対パス。 | 一時データ ルート フォルダーへの出力。 リビルドまたは再実行が行われると、結果が消去されます。 |
参照先データベースのデプロイ | ローカル マシン アカウントに対して実行されている場合、参照先データベースは自動的にデプロイされません。 これは、Azure Data Lake Analytics アカウントに送信する場合も同じです。 | 参照されるデータベースは、ローカル実行の前に ローカル プロジェクト アカウントに自動的にデプロイされます。 再構築または再実行が行われると、すべてのデータベース環境がクリーンアップされ、再デプロイされます。 |
U-SQL SDK を使用したローカル実行
Visual Studio で U-SQL スクリプトをローカルで実行できます。また、Azure Data Lake U-SQL SDK を使用して、コマンド ラインおよびプログラミング インターフェイスを使用して U-SQL スクリプトをローカルで実行することもできます。 これらのインターフェイスを使用して、U-SQL ローカルの実行とテストを自動化できます。
Azure Data Lake U-SQL SDK の詳細を確認します。