Sparkを使用したPortfolio Managerのデモ

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

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

手順

デモを実行するには:

注: DataStaxのデモは、LDAPまたは内部権限管理(ユーザー名/パスワード)のいずれかを有効にした状態では動作しません。

  1. DataStaxインストーラーを使用して、GUIまたはテキスト・モードで以下の設定を指定し、1つのデモ・ノードをインストールします。
    • Install Options]ページ - Default Interface: 127.0.0.1(デモにこのIPを使用する必要があります。)
    • Node Setup]ページ -Node Type: Analytics
  2. DataStax Enterpriseをまだ起動していない場合は、起動します。
    • パッケージおよびInstaller-Servicesのインストール:
      $ sudo service dse start
    • tarボールおよびInstaller-No Servicesのインストール:
      $ installation_location/bin/dse cassandra -k ## Starts node in Spark mode

      デフォルトのinstallation_location/usr/share/dseです。

  3. Portfolio Managerのデモ・ディレクトリーに移動します。
    ポートフォリオ・マネージャー・デモのデフォルトの場所は、インストールのタイプによって異なります。
    • パッケージ・インストールおよびInstaller-Services:/usr/share/dse/demos/portfolio_manager
    • tarボール・インストールおよびInstaller-No Services:installation_location/demos/portfolio_manager
  4. bin/pricerユーティリティを実行して、アプリケーションのストック・データを生成します。
    • このユーティリティに使用可能なオプションをすべて表示するには:
      $ sudo bin/pricer --help
    • pricerユーティリティを起動します。
      $ sudo bin/pricer -o INSERT_PRICES $ sudo bin/pricer -o UPDATE_PORTFOLIOS $ sudo 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ディレクトリーにあります。