Spark-Submitデータ・フロー・アプリケーションの作成

データ・フローでSpark-Submitアプリケーションを作成します。

  • Spark-submitファイルをOracle Cloud Infrastructure Object Storageにアップロードします。詳細は、オブジェクト・ストアの設定を参照してください。
    1. 「データ・フロー」ページの左側のメニューで、「アプリケーション」を選択します。「データ・フロー」ページの検索に関するヘルプが必要な場合は、アプリケーションのリストを参照してください。
    2. 「アプリケーション」ページで、「アプリケーションの作成」を選択します。
    3. 「アプリケーションの作成」パネルで、アプリケーションの名前と、検索に役立つオプションの説明を入力します。
    4. 「リソース構成」で、次の値を指定します。必要なリソース数の計算に役立つようにするには、データ・フロー・アプリケーションのサイズ設定を参照してください。
      1. Sparkバージョンを選択します。
      2. (オプション)プールを選択します。
      3. 「ドライバ・シェイプ」で、Sparkドライバのホストに使用するクラスタ・ノードのタイプを選択します。
      4. (オプション)ドライバにフレキシブル・シェイプを選択した場合は、OCPUの数およびメモリーの量をカスタマイズします。
      5. 「エグゼキュータ・シェイプ」で、各Sparkエグゼキュータのホストに使用するクラスタ・ノードのタイプを選択します。
      6. (オプション)エグゼキュータにフレキシブル・シェイプを選択した場合は、OCPUの数およびメモリーの量をカスタマイズします。
      7. (オプション)Spark動的割当て(自動スケーリング)の使用を有効にするには、「自動スケーリングの有効化」を選択します。
      8. 必要なエグゼキュータの数を入力します。自動スケーリングの使用を選択した場合は、エグゼキュータの最小数と最大数を入力します。
    5. 「アプリケーション構成」で、次の値を指定します。
      1. (オプション)アプリケーションがSparkストリーミング用の場合は、「Sparkストリーミング」を選択します。
      2. 「Spark-Submitオプションの使用」を選択します。サポートされているspark-submitオプションは:
        • --py-files
        • --files
        • --jars
        • --class
        • --conf key=value形式の任意のSpark構成プロパティ。値に空白が含まれる場合は、"key=value"のように引用符で囲みます。多数の構成を別の引数として渡します。たとえば、
           --conf <key1>=<value1> --conf <key2>=<value2>
        • application-jar アプリケーションとそのすべての依存関係を含むバンドルされたJARへのパス。
        • application-arguments メイン・クラスのmainメソッドに渡される引数。
      3. 「Spark-Submitオプション」テキスト・ボックスに、次の形式でオプションを入力します:
         --py-files oci://<bucket_name>@<objectstore_namespace>/<file_name> .pyoci://<bucket_name>@<objectstore_namespace>/<dependencies_file_name.zip>
         --files oci://<bucket_name>@<objectstore_namespace>/<file_name>.json
         --jars oci://<bucket_name>@<objectstore_namespace>/<file_name>.jar
         --conf spark.sql.crossJoin.enabled=true
          oci://<bucket_name>@<objectstore_namespace>/<file_name>.py oci://<argument2_path_to_input> oci://<argument3_path_to_output>
        たとえば、Spark Oracleデータソースを使用するには、次のオプションを使用します:
        --conf spark.oracle.datasource.enable=true
        重要

        データ・フローでは、local://またはhdfs://で始まるURIはサポートされていません。URIはoci://で始まる必要があるため、すべてのファイル(main-applicationを含む)はOracle Cloud Infrastructure Object Storageに存在する必要があり、各ファイルには完全修飾ドメイン名(FQDN)を使用する必要があります。
      4. (オプション)archive.zipファイルがある場合は、archive.zipをOracle Cloud Infrastructureオブジェクト・ストレージにアップロードし、「アーカイブURI」にそのパスを移入します。これには2つの方法があります:
        • 「オブジェクト・ストレージ・ファイル名」リストからファイルを選択します。バケットが別のコンパートメントにある場合は、「コンパートメントの変更」を選択します。
        • 「ファイルのパスを手動で入力します」を選択し、次の形式でファイル名とそのパスを入力します:
           oci://<bucket_name>@<namespace_name>/<file_name>
      5. 「アプリケーション・ログの場所」で、次のいずれかの方法でOracle Cloud Infrastructure Loggingの取込み先を指定します:
        • 「オブジェクト・ストレージ・ファイル名」リストからdataflow-logsバケットを選択します。バケットが別のコンパートメントにある場合は、「コンパートメントの変更」を選択します。
        • 「バケット・パスを手動で入力」を選択し、次の書式を使用してバケット・パスを入力します:
           oci://dataflow-logs@<namespace_name>
        • 「バケット・パスの手動入力」を選択せず、ファイルを選択します。
      6. (オプション)リストから「メタストア」を選択します。メタストアが別のコンパートメントにある場合は、最初に「コンパートメントの変更」を選択し、別のコンパートメントを選択してから、リストから「メタストア」を選択します。「デフォルトの管理対象表の場所」は、メタストアに基づいて自動的に移入されます。
    6. (オプション)「タグ」セクションで、<resourceType>に1つ以上のタグを追加します。リソースの作成権限がある場合は、フリーフォーム・タグをそのリソースに適用する権限もあります。定義済タグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に問い合せてください。タグは後で適用できます。
    7. (オプション)「拡張オプションの表示」を選択し、次の値を指定します。
      1. (オプション)「Use resource principal auth」を選択して、起動を高速化するか、「Run」が24時間以上続くと予想されます。リソース・プリンシパル・ポリシーを設定する必要があります。
      2. 「Delta Lakeの有効化」にチェックマークを入れて、Delta Lakeを使用します。
        1. Delta Lakeのバージョンを選択します。選択した値は、Spark構成プロパティのキー/値のペアに反映されます。
        2. ログ・グループを選択します。
      3. (Optional) Select Enable Spark Oracle data source to use Spark Oracle Datasource.
      4. (オプション)「ログ」セクションで、Oracle Cloud Infrastructure Loggingのログ・グループおよびアプリケーション・ログを選択します。ログ・グループが別のコンパートメントにある場合は、「コンパートメントの変更」を選択します。
      5. Spark構成プロパティを追加します。キーのペアを入力します。
      6. 「+別のプロパティ」を選択して、別の構成プロパティを追加します。
      7. すべての構成プロパティが追加されるまで、ステップbおよびcを繰り返します。
      8. ウェアハウス・バケットURIを次の形式で移入して、ウェアハウス・バケットのデフォルト値をオーバーライドします:
        oci://<warehouse-name>@<tenancy>
      9. 「ネットワーク・アクセスの選択」で、次のいずれかのオプションを選択します:
        • データ・フローに「プライベート・エンドポイントのアタッチ」を行う場合は、「プライベート・サブネットへのセキュア・アクセス」ラジオ・ボタンを選択します。表示されるリストからプライベート・エンドポイントを選択します。
          ノート

          IPアドレスを使用してプライベート・エンドポイントに接続できません。FQDNを使用する必要があります。
        • プライベート・エンドポイントを使用していない場合は、「インターネット・アクセス(サブネットなし)」ラジオ・ボタンを選択します。
      10. (オプション)データ系統収集を有効にするには:
        1. 「データ系統収集の有効化」を選択します。
        2. 「データ・カタログを手動で入力」を選択するか、現在のテナンシの構成可能なコンパートメントからデータ・カタログ・インスタンスを選択します。
        3. (オプション)前のステップで「データ・カタログを手動で入力」を選択した場合は、「データ・カタログ・テナンシOCID」「データ・カタログ・コンパートメントOCID」および「データ・カタログ・インスタンスODID」の値を入力します。
      11. (オプション)バッチ・ジョブの場合のみ、「最大実行期間(分)」に、60 (1時間)から10080 (7日)までの値を入力します。値を入力しない場合、送信された実行は、成功するか、失敗するか、取り消されるか、デフォルトの最大期間(24時間)に達するまで続行されます。
    8. 「作成」を選択してアプリケーションを作成するか、「スタックとして保存」を選択して後で作成します。
      今後「名前」および「ファイルURL」の値を変更するには、アプリケーションの編集を参照してください。
  • createコマンドと必須パラメータを使用して、アプリケーションを作成します。

    oci data-flow application create [OPTIONS]
    CLIコマンドのフラグおよび変数オプションの完全なリストは、CLIコマンドライン・リファレンスを参照してください。
  • CreateApplication操作を実行して、アプリケーションを作成します。