Spark-SubmitおよびCLIの開始

CLIでexecute文字列を使用しながら、spark-submitを使用してデータ・フローでSparkアプリケーションの実行を開始する際に役立つチュートリアル。

Oracle Cloud Infrastructureデータ・フローの開始の既存のチュートリアルに従いますが、spark-submitコマンドの実行にはCLIを使用します。

開始する前に

CLIを使用してデータ・フローでspark-submitコマンドを使用する前に、いくつかの前提条件を満たし、認証を設定します。

  1. CLIでspark-submitを使用するための前提条件を満たします。
  2. CLIでspark-submitを使用するための認証を設定します。

CLIでSpark-submitを使用するための認証

CLIでspark-submitを使用するための認証を設定します。

CLIでspark-submitを使用するための前提条件が満たされ、CLIがインストールされている場合は、次のコマンドを使用して認証プロファイルを設定します:
 $ oci session authenticate
 
    - select the intended region from the provided list of regions.
    - Please switch to newly opened browser window to log in!
    - Completed browser authentication process!
    - Enter the name of the profile you would like to create: <profile_name> ex. oci-cli
    - Config written to: ~/.oci/config
 
    - Try out your newly created session credentials with the following example command:
             $ oci iam region list --config-file ~/.oci/config --profile <profile_name> --auth security_token
~/.oci/configファイルにプロファイルが作成されます。プロファイル名を使用してチュートリアルを実行します。

1. Spark-SubmitおよびCLIを使用したJavaアプリケーションの作成

Spark-submitおよびCLIを使用して、チュートリアルを完了します。

spark-submitおよびCLIを使用して、Oracle Cloud Infrastructureデータ・フローの開始チュートリアルの最初の演習Javaを使用したETLを完了します。
  1. テナンシを設定します。
  2. 入力および結果を保存できるバケットがオブジェクト・ストレージに存在しない場合は、適切なフォルダ構造を持つバケットを作成する必要があります。この例では、フォルダ構造は/output/tutorial1です。
  3. 次のコードを実行します:
    oci --profile <profile-name> --auth security_token data-flow run submit \
    --compartment-id <compartment-id> \
    --display-name Tutorial_1_ETL_Java \
    --execute '
        --class convert.Convert 
        --files oci://oow_2019_dataflow_lab@idehhejtnbtc/oow_2019_dataflow_lab/usercontent/kaggle_berlin_airbnb_listings_summary.csv 
        oci://oow_2019_dataflow_lab@idehhejtnbtc/oow_2019_dataflow_lab/usercontent/oow-lab-2019-java-etl-1.0-SNAPSHOT.jar \
        kaggle_berlin_airbnb_listings_summary.csv oci://<bucket-name>@<namespace-name>/output/tutorial1'
    このチュートリアルを以前に実行したことがある場合は、出力ディレクトリoci://<bucket-name>@<namespace-name>/output/tutorial1の内容を削除して、チュートリアルが失敗しないようにします。
    ノート

    コンパートメントIDを検索するには、ナビゲーション・メニューから「アイデンティティ」を選択し、「コンパートメント」を選択します。それぞれのOCIDを含む、使用可能なコンパートメントがリストされます。

2: PySparkを使用した機械学習

Spark-submitおよびCLIを使用して、PySparkで機械学習を実行します。

Complete exercise 3. Machine Learning with PySpark, from the Getting Started with Oracle Cloud Infrastructure Data Flow tutorial.
  1. Before trying this exercise, complete 1. Create the Java Application Using Spark-Submit and CLI. この演習では、結果が使用されます。
  2. 次のコードを実行します:
    oci --profile <profile-name> --auth security_token data-flow run submit \
    --compartment-id <compartment-id> \
    --display-name Tutorial_3_PySpark_ML \
    --execute '
        oci://oow_2019_dataflow_lab@idehhejtnbtc/oow_2019_dataflow_lab/usercontent/oow_lab_2019_pyspark_ml.py 
        oci://<your_bucket>@<namespace-name>/output/tutorial1'

次の手順

その他の状況では、Spark-submitおよびCLIを使用します。

CLIからspark-submitを使用して、データ・フローでJava、PythonまたはSQLアプリケーションを作成し、実行し、結果を調べます。データ・フローは、デプロイメント、分解、ログ管理、セキュリティおよびUIアクセスのすべての詳細を処理します。データ・フローでは、インフラストラクチャを気にすることなく、Sparkアプリケーションの開発に集中します。