Sparkを使用したPortfolio Managerのデモ

Portfolio Managerのデモでは、財務関連のユース・ケースに基づいたアプリケーションが実行されます。株式のポートフォリオを作成するスクリプトを実行します。

Portfolio Managerのデモでは、財務関連のユース・ケースに基づいたアプリケーションが実行されます。株式のポートフォリオを作成するスクリプトを実行します。OLTP(オンライン・トランザクション処理)側の各ポートフォリオには、株式の一覧、購入株数、購入価格が含まれています。このデモの株式市況ユーティリティは、リアルタイムで株式データをシミュレーションします。各ポートフォリオは、全体的価値および購入価格比の増減のパーセンテージに基づいて更新されます。このユーティリティは、株式ごとに100日間の市場データの履歴(終値)も生成します。DSE OLAP(オンライン分析処理)側では、Sparkジョブが、ポートフォリオごとに、10日間の履歴データの最大損失を計算します。これがポートフォリオに関連付けられたリスクの標識となります。この情報は顧客が潜在的損失を測定できるように、リアルタイムのアプリケーションに送り返されます。

手順

デモを実行するには:
注: DataStaxのデモは、LDAPまたは内部権限管理(ユーザー名/パスワード)のいずれかを有効にした状態では動作しません。
  1. ノードのインストール
    注: tarボール・インストールを使用する場合、ポートフォリオ・マネージャーのデモは通常のインストールの一部としてインストールされます。パッケージ・インストールを使用する場合は、デモをインストールするためのコマンドを含める必要があります。
    • デフォルトのインターフェイスはlocalhost (127.0.0.1)です。デモにはこのIPを使用する必要があります。
  2. DataStax EnterpriseをDSE Analyticsノードとして起動します。
    • パッケージ・インストールの場合:
      1. /etc/default/dseで次のように設定します。
        SPARK_ENABLED=1
      2. ノードを起動します。
        sudo service dse start
    • tarボール・インストールの場合:
      installation_location/bin/dse cassandra -k ## Starts node in analytics mode 
  3. Portfolio Managerのデモ・ディレクトリーに移動します。
    ポートフォリオ・マネージャー・デモのデフォルトの場所は、インストールのタイプによって異なります。
    • パッケージ・インストール: /usr/share/dse/demos/portfolio_manager
    • tarボール・インストール: installation_location/demos/portfolio_manager
  4. bin/pricerユーティリティを実行して、アプリケーションのストック・データを生成します。
    • このユーティリティに使用可能なオプションをすべて表示するには:
      bin/pricer --help
    • pricerユーティリティを起動します。
      bin/pricer -o INSERT_PRICES && 
      bin/pricer -o UPDATE_PORTFOLIOS && 
      bin/pricer -o INSERT_HISTORICAL_PRICES -n 100
    pricerユーティリティの実行には数分かかります。
  5. Webサービスを起動します。
    cd website && 
    sudo ./start
  6. ブラウザーを開き、http://localhost:8983/portfolioにアクセスします。

    リアルタイムのPortfolio Managerデモ・アプリケーションが表示されます。



  7. 別のターミナルを開きます。
  8. Spark SQLジョブを10-day-loss.qファイルで実行します。
    dse spark-sql -f 10-day-loss.q
  9. 同等のSpark Scalaジョブを10-day-loss.shスクリプトで実行します。

    Sparkアプリケーションが実行されるには数分かかります。

    ./10-day-loss.sh
  10. 同等のSpark Javaジョブを10-day-loss-java.shスクリプトで実行します。
    ./10-day-loss-java.sh
  11. ジョブが完了したら、Portfolio Manager Webページを更新します。

    各ポートフォリオの10日間の履歴データの最大損失の結果が表示されます。



次のタスク

デモのScalaとJavaのソース・コードはsrcディレクトリーにあります。