Northwindデモ・グラフ・データに対してOLAPクエリーを実行します。
DSEデモに含まれているNorthwindデモでは、架空の証券会社のデータのグラフを作成するためのスクリプトを取り扱います。
このタスクでは、Gremlin Consoleを使用してNorthwindグラフを作成し、グラフの一部のスナップショットを取得し、SparkGraphComputerを使用してサブグラフでカウント操作を実行します。
手順
-
dse gremlin-consoleコマンドを使用して、Gremlin Consoleを起動します。
-
スキーマ・モードを
Development
に設定します。
接続されたグラフ・データベースのスキーマの変更を許可するには、セッションごとにモードをDevelopment
に設定する必要があります。DSE Graphのデフォルトのスキーマ・モードはProduction
で、この場合、グラフのスキーマを変更できません。
gremlin> schema.config().option('graph.schema_mode').set('Development')
-
Northwindグラフを作成します。
gremlin> system.graph('northwind').create()
-
デフォルトのOLTP探索ソースを使用して、Northwindグラフに探索の別名を割り当てます。
gremlin> :remote config alias g northwind.g
-
:loadコマンドを使用して、Northwindデモ・スクリプトを読み込みます。
gremlin> :load /usr/share/dse/demos/graph/northwind/northwind.groovy
-
スクリプトを実行します。
gremlin> loadNorthwind(graph)
-
northwind
グラフのスキーマを表示します。
gremlin> schema.describe()
-
Northwind分析OLAP探索ソース
a
に探索の別名を割り当てます。1回限りの分析クエリーの場合、OLAP探索ソースに別名g
を割り当てます。
gremlin> :remote config alias g northwind.a
==>g=northwind.a
-
OLAP探索ソースを使用して頂点の数をカウントします。
gremlin> g.V().count()
==>3209
OLAP探索ソースdatabase name.a
に別名g
を割り当てると、DSE Analyticsはワークロード・バックエンドになります。
-
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探索ソースを返します。
-
スナップショット・グラフで操作を実行します。
スナップショット・グラフで従業員の頂点の数をカウントします。
gremlin> employees.V().count()
==> 9
スナップショット・グラフでカテゴリーの頂点の数をカウントします。
gremlin> categories.V().count()
==> 8