Share via


Synapse Spark ジョブ定義を実行してデータを変換する

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

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

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

Apache Spark ジョブ定義キャンバスを設定する

パイプラインで Synapse の Spark ジョブ定義アクティビティを使用するには、次の手順を実行します。

全般設定

  1. パイプラインの [アクティビティ] ペインで "Spark ジョブ定義" を検索し、[Synapse] の下の [Spark ジョブ定義] をパイプライン キャンバスにドラッグします。

  2. まだ選択されていない場合は、キャンバスで新しい Spark ジョブ定義アクティビティを選択します。

  3. [全般] タブで、[名前] に「サンプル」と入力します。

  4. (省略可) 説明を入力することもできます。

  5. タイムアウト: アクティビティを実行できる最大時間。 既定値は 7 日です。これは許容される最大時間でもあります。 形式は D.HH:MM:SS です。

  6. 再試行: 最大再試行回数。

  7. 再試行の間隔: 何秒おきに再試行するか。

  8. セキュリティで保護された出力: オンにした場合、アクティビティからの出力がログにキャプチャされません。

  9. セキュリティで保護された入力: オンにした場合、アクティビティからの入力がログにキャプチャされません。

Azure Synapse Analytics (Artifacts) 設定

  1. まだ選択されていない場合は、キャンバスで新しい Spark ジョブ定義アクティビティを選択します。

  2. [Azure Synapse Analytics (Artifacts)] タブを選択して、Spark ジョブ定義アクティビティを実行する新しい Azure Synapse Analytics のリンクされたサービスを選択または作成します。

    Spark ジョブ定義アクティビティのリンクされたサービス タブの UI を示すスクリーンショット。

Settings tab

  1. まだ選択されていない場合は、キャンバスで新しい Spark ジョブ定義アクティビティを選択します。

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

  3. Spark ジョブ定義の一覧を展開すると、リンクされた Azure Synapse Analytics ワークスペースで既存の Apache Spark ジョブ定義を選択できます。

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

    プロパティ 説明
    Main definition file (メイン定義ファイル) ジョブに使用されるメイン ファイルです。 ストレージから PY/JAR/ZIP ファイルを選択します。 [ファイルのアップロード] を選択して、ファイルをストレージ アカウントにアップロードできます。
    サンプル: abfss://…/path/to/wordcount.jar
    サブフォルダーからの参照 メイン定義ファイルのルート フォルダーからサブフォルダーをスキャンすると、これらのファイルが参照ファイルとして追加されます。 "jars"、"pyFiles"、"files"、または "archives" という名前のフォルダーがスキャンされ、フォルダー名では大文字と小文字が区別されます。
    メイン クラス名 完全修飾識別子またはメイン定義ファイル内のメイン クラス。
    サンプル: WordCount
    コマンド ライン引数 [New](新規) ボタンをクリックしてコマンドライン引数を追加できます。 コマンドライン引数を追加すると、Spark ジョブ定義で設定したコマンドライン引数がオーバーライドされることに注意してください。
    サンプル: abfss://…/path/to/shakespeare.txtabfss://…/path/to/result
    Apache Spark プール 一覧から Apache Spark プールが選択できます。
    Python コード リファレンス メイン定義ファイルの参照に使用される追加 Python コード ファイル。
    ファイル (.py、.py3、.zip) を "pyFiles" プロパティに渡すことがサポートされています。 Spark ジョブ定義で定義されている "pyFiles" プロパティをオーバーライドします。
    参照ファイル メイン定義ファイル内で参照に使用される追加ファイル。
    Apache Spark プール 一覧から Apache Spark プールが選択できます。
    エグゼキューターを動的に割り当てる この設定は、Spark アプリケーションのエグゼキューターの割り当てに対する Spark 構成の動的割り当てプロパティにマップされます。
    Executor の最小数 ジョブの指定された Spark プール内に割り当てられる Executor の最小数。
    Executor の最大数 ジョブの指定された Spark プール内に割り当てられる Executor の最大数。
    Driver size (ドライバー サイズ) ジョブ用の指定された Apache Spark プール内で提供される、ドライバーに使用するコアとメモリの数。
    Spark の構成 「Spark Configuration - Application properties (Spark 構成 - アプリケーションのプロパティ)」と題するトピックに示されている Spark 構成プロパティの値を指定します。 ユーザーは、既定の構成とカスタマイズされた構成を使用できます。

    Spark ジョブ定義アクティビティの UI を示すスクリーンショット。

  5. [動的なコンテンツの追加] ボタンをクリックするか、ショートカット キー Alt+Shift+D を押すことで動的コンテンツを追加できます。 [動的なコンテンツの追加] ページでは、式、関数、システム変数を自由に組み合わせて動的なコンテンツを追加できます。

    Spark ジョブ定義アクティビティに動的コンテンツを追加するための UI を表示するスクリーンショット。

[ユーザーのプロパティ] タブ

このパネルでは、Apache Spark ジョブ定義アクティビティのプロパティを追加できます。

Spark ジョブ定義アクティビティのプロパティを表す UI のスクリーンショット。

Azure Synapse の Spark ジョブ定義アクティビティ定義

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

 {
        "activities": [
            {
                "name": "Spark job definition1",
                "type": "SparkJob",
                "dependsOn": [],
                "policy": {
                    "timeout": "7.00:00:00",
                    "retry": 0,
                    "retryIntervalInSeconds": 30,
                    "secureOutput": false,
                    "secureInput": false
                },
                "typeProperties": {
                    "sparkJob": {
                        "referenceName": {
                            "value": "Spark job definition 1",
                            "type": "Expression"
                        },
                        "type": "SparkJobDefinitionReference"
                    }
                },
                "linkedServiceName": {
                    "referenceName": "AzureSynapseArtifacts1",
                    "type": "LinkedServiceReference"
                }
            }
        ],
    }

Azure Synapse の Spark ジョブ定義プロパティ

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

プロパティ 説明 必須
name パイプラインのアクティビティの名前。 はい
description アクティビティの動作を説明するテキスト。 いいえ
type Azure Synapse の Spark ジョブ定義アクティビティの場合、アクティビティの種類は SparkJob です。 はい

Azure Synapse の Spark ジョブ定義アクティビティ実行履歴

[監視] タブで [パイプラインの実行] にアクセスすると、トリガーされたパイプラインが表示されます。 Azure Synapse の Spark ジョブ定義アクティビティを含むパイプラインが開き、実行履歴が表示されます。

Spark ジョブ定義アクティビティ実行の入力と出力を表す UI のスクリーンショット。

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

Spark ジョブ定義アクティビティ実行の出力ユーザー エラーを表す UI のスクリーンショット。