Synapse Notebook を実行してデータを変換する

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。

パイプラインの Azure Synapse Notebook アクティビティでは、Azure Synapse Analytics ワークスペースの Synapse ノートブックが実行されます。 この記事は、データ変換とサポートされる変換アクティビティの概要を説明する、 データ変換アクティビティ に関する記事に基づいています。

Azure Synapse Analytics Notebook アクティビティは、Azure Data Factory Studio のユーザー インターフェイスを使って直接作成できます。 ユーザー インターフェイスを使って Synapse Notebook アクティビティを作成する方法の詳しいチュートリアルについては、以下を参照してください。

Synapse の Notebook アクティビティを UI 付きパイプラインに追加する

パイプラインで Synapse の Notebook アクティビティを使うには、次の手順のようにします。

全般設定

  1. パイプラインの [アクティビティ] ペインで [Notebook] を見つけて、Synapse の下のノートブック アクティビティをパイプライン キャンバスにドラッグします。
  2. まだ選択されていない場合は、キャンバスで新しい Notebook アクティビティを選択します。
  3. [全般] 設定で、[名前] に「sample」と入力します。
  4. (省略可) 説明を入力することもできます。
  5. タイムアウト: アクティビティを実行できる最大時間。 既定値は 12 時間で、許容される最大時間は 7 日です。 形式は D.HH:MM:SS です。
  6. 再試行: 最大再試行回数。
  7. 再試行の間隔 (秒): 各再試行の間の秒数。
  8. セキュリティで保護された出力: オンにした場合、アクティビティからの出力がログにキャプチャされません。
  9. セキュリティで保護された入力: オンにした場合、アクティビティからの入力がログにキャプチャされません。

Azure Synapse Analytics (Artifacts) 設定

[Azure Synapse Analytics (Artifacts)] タブを選んで、Notebook アクティビティを実行する新しい Azure Synapse Analytics リンク サービスを選ぶか作成します。

Notebook アクティビティのリンク サービス タブのスクリーンショット。

Settings tab

  1. まだ選択されていない場合は、キャンバスで新しい Synapse Notebook アクティビティを選びます。

  2. [設定] タブを選択します。

  3. [ノートブック] の一覧を展開すると、リンクされた Azure Synapse Analytics (Artifacts) 内の既存のノートブックを選択できます。

  4. [開く] ボタンをクリックして、選んだノートブックが存在するリンク サービスのページを開きます。

Note

リンク サービスのワークスペース リソース ID が空の場合、[開く] ボタンは無効になります。

[開く] ボタンが無効になっているスクリーンショット。

  1. [設定] タブを選んで、ノートブックと、ノートブックに渡すオプションの基本パラメーターを選びます。

    Notebook アクティビティの [設定] タブのスクリーンショット。

  2. (省略可能) Synapse Notebook の情報を入力できます。 次の設定が空の場合は、Synapse Notebook 自体の設定が実行するために使用され、次の設定が空でない場合は、これらの設定によって Synapse Notebook 自体の設定が置き換えられます。

    プロパティ 説明
    Spark プール Spark プールへの参照。 一覧から Apache Spark プールが選択できます。
    Executor size (エグゼキュータのサイズ) セッションの指定された Apache Spark プール内に割り当てられている Executor で使用されるコアとメモリの数です。 動的コンテンツの場合、有効な値は Small、Medium、Large、XLarge、XXLarge です。
    エグゼキューターを動的に割り当てる この設定は、Spark アプリケーションのエグゼキューターの割り当てに対する Spark 構成の動的割り当てプロパティにマップされます。
    Executor の最小数 ジョブの指定された Spark プール内に割り当てられる Executor の最小数。
    Executor の最大数 ジョブの指定された Spark プール内に割り当てられる Executor の最大数。
    Driver size (ドライバー サイズ) ジョブ用の指定された Apache Spark プール内で提供される、ドライバーに使用するコアとメモリの数。

Azure Synapse Analytics Notebook アクティビティの定義

Azure Synapse Analytics Notebook アクティビティのサンプル JSON 定義を次に示します。

{
    "activities": [
            {
                "name": "demo",
                "description": "description",
                "type": "SynapseNotebook",
                "dependsOn": [],
                "policy": {
                    "timeout": "7.00:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false,
                    "secureInput": false
                },
                "userProperties": [
                    {
                        "name": "testproperties",
                        "value": "test123"
                    }
                ],
                "typeProperties": {
                    "notebook": {
                        "referenceName": {
                            "value": "Notebookname",
                            "type": "Expression"
                        },
                        "type": "NotebookReference"
                    },
                    "parameters": {
                        "test": {
                            "value": "testvalue",
                            "type": "string"
                        }
                    },
                    "snapshot": true,
                    "sparkPool": {
                        "referenceName": {
                            "value": "SampleSpark",
                            "type": "Expression"
                        },
                        "type": "BigDataPoolReference"
                    }
                },
                "linkedServiceName": {
                    "referenceName": "AzureSynapseArtifacts1",
                    "type": "LinkedServiceReference"
                }
            }
        ]
    }

Azure Synapse Analytics Notebook アクティビティのプロパティ

次の表で、JSON 定義で使用される JSON プロパティについて説明します。

プロパティ 内容 必須
name パイプラインのアクティビティの名前。 はい
description アクティビティの動作を説明するテキスト。 いいえ
type Azure Synapse Analytics Notebook アクティビティの場合、アクティビティの種類は SynapseNotebook です。 はい
ノートブック Azure Synapse Analytics で実行するノートブックの名前。 はい
sparkPool Azure Synapse Analytics Notebook の実行に必要な Spark プール。 いいえ
パラメーター (parameter) Azure Synapse Analytics Notebook の実行に必要なパラメーター。 詳しくは、「Synapse Notebook を実行してデータを変換する」をご覧ください いいえ

パラメーター セルを指定する

Azure Data Factory によりパラメーター セルが検索され、その値が実行時に渡されるパラメーターの既定値として使用されます。 実行エンジンにより、既定値を上書きするために、入力パラメーターを含んだ新しいセルがパラメーター セルの下に追加されます。 「Synapse Notebook を実行してデータを変換する」をご覧ください。

Synapse ノートブックのセル出力値を読み取る

アクティビティでのノートブックのセル出力値を読み取ることができます。このパネルについては、「Synapse Notebook を実行してデータを変換する」をご覧ください。

別の Synapse ノートブックを実行する

%run マジックまたは mssparkutils ノートブック ユーティリティを呼び出して、Synapse ノートブック アクティビティ内の他のノートブックを参照できます。 どちらも、入れ子になっている関数呼び出しをサポートしています。 シナリオに基づいて考慮する必要があるこれら 2 つの方法の主な違いは次のとおりです。

  • %run マジックは、参照されているノートブックのすべてのセルを %run セルにコピーし、変数コンテキストを共有します。 notebook1 が %run notebook2 を使用して notebook2 を参照し、notebook2 が mssparkutils.notebook.exit 関数を呼び出すとき、notebook1 のセルの実行は停止されます。 ノートブック ファイルを "含める" 必要がある場合は、%run マジックを使用することをお勧めします。
  • mssparkutils ノートブック ユーティリティは、参照されているノートブックをメソッドまたは関数として呼び出します。 変数コンテキストは共有されません。 notebook1 が mssparkutils.notebook.run("notebook2") を使用して notebook2 を参照し、notebook2 が mssparkutils.notebook.exit 関数を呼び出すとき、notebook1 のセルの実行は続行されます。 ノートブックを "インポート" する必要がある場合は、mssparkutils ノートブック ユーティリティを使用することをお勧めします。

Azure Synapse Analytics Notebook アクティビティの実行履歴を見る

[監視] タブで [パイプラインの実行] にアクセスすると、トリガーされたパイプラインが表示されます。 ノートブック アクティビティを含むパイプラインを開いて、実行履歴を表示します。

Notebook アクティビティの入力と出力のスクリーンショット。

[ノートブック スナップショットを開く] の場合、この機能は現在サポートされていません。

ノートブック アクティビティの入力または出力を表示するには、 [入力] または [出力] ボタンを選択します。 ユーザー エラーでパイプラインが失敗した場合は、 [出力] を選択して [result] フィールドを調べて、ユーザー エラーの詳細なトレースバックを確認します。

Notebook アクティビティの出力ユーザー エラーのスクリーンショット。