Spark OLAPジョブでのNorthwindデモ・グラフの使用

Northwindデモ・グラフ・データに対してOLAPクエリーを実行します。

DSEデモに含まれているNorthwindデモでは、架空の証券会社のデータのグラフを作成するためのスクリプトを取り扱います。

このタスクでは、Gremlin Consoleを使用してNorthwindグラフを作成し、グラフの一部のスナップショットを取得し、SparkGraphComputerを使用してサブグラフでカウント操作を実行します。

始める前に

手順

  1. dse gremlin-consoleコマンドを使用して、Gremlin Consoleを起動します。
    dse gremlin-console
  2. スキーマ・モードをDevelopmentに設定します。

    接続されたグラフ・データベースのスキーマの変更を許可するには、セッションごとにモードをDevelopmentに設定する必要があります。DSE Graphのデフォルトのスキーマ・モードはProductionで、この場合、グラフのスキーマを変更できません。

    gremlin> schema.config().option('graph.schema_mode').set('Development')
  3. Northwindグラフを作成します。
    gremlin> system.graph('northwind').create()
  4. デフォルトのOLTP探索ソースを使用して、Northwindグラフに探索の別名を割り当てます。
    gremlin> :remote config alias g northwind.g
  5. :loadコマンドを使用して、Northwindデモ・スクリプトを読み込みます。
    gremlin> :load /usr/share/dse/demos/graph/northwind/northwind.groovy
  6. スクリプトを実行します。
    gremlin> loadNorthwind(graph)
  7. northwindグラフのスキーマを表示します。
    gremlin> schema.describe()
  8. Northwind分析OLAP探索ソースaに探索の別名を割り当てます。1回限りの分析クエリーの場合、OLAP探索ソースに別名gを割り当てます。
    gremlin> :remote config alias g northwind.a
    ==>g=northwind.a
  9. OLAP探索ソースを使用して頂点の数をカウントします。
    gremlin> g.V().count()
    ==>3209

    OLAP探索ソースdatabase name.aに別名gを割り当てると、DSE Analyticsはワークロード・バックエンドになります。

  10. graph.snapshot()を使用して、サブグラフをスナップショットに格納します。
    1つのセッションでグラフに対して複数のOLAPクエリーを実行する必要がある場合は、探索ソースとしてグラフのスナップショットを使用します。
    gremlin> employees = graph.snapshot().vertices('employee').create()
    ==>graphtraversalsource[hadoopgraph[persistedinputrdd->persistedoutputrdd], sparkgraphcomputer]
    gremlin> categories = graph.snapshot().vertices('category').create()
    ==>graphtraversalsource[hadoopgraph[persistedinputrdd->persistedoutputrdd], sparkgraphcomputer]

    snapshot()メソッドでは、SparkGraphComputerを使用してOLAP探索ソースを返します。

  11. スナップショット・グラフで操作を実行します。

    スナップショット・グラフで従業員の頂点の数をカウントします。

    gremlin> employees.V().count()
    ==> 9

    スナップショット・グラフでカテゴリーの頂点の数をカウントします。

    gremlin> categories.V().count()
    ==> 8