2017-08-10 81 views
0

我爲Titan構建Amazon DynamoDB存儲後端。使用DynamoDB存儲後端爲Titan添加頂點到dynamodb

我用它來構建基於env的模板。 資源創建後,我看到dynamodb是基於dynamodb.properties文件創建的。

enter image description here

資源被創建後,我打開SSH到Linux EC2並啓動bin/gremlin.sh.

我希望將數據添加到發電機,所以我試圖通過folliwing命令來添加頂點:

gremlin> bin/gremlin.sh 
    gremlin> :remote connect tinkerpop.server conf/remote.yaml 
    gremlin> g = TitanFactory.open("/usr/local/packages/dynamodb-titan100-storage-backend-1.0.0-hadoop1/conf/gremlin-server/dynamodb.properties") 

gremlin> g.addVertex('date_of_birth').property('date_of_birth','1949-01-01') 
vp[date_of_birth->1949-01-01] 

但現在當我檢查我的dynamodb表時,我看到titan_ids被更改爲,但數據不清晰可讀。 'v'列仍爲EMPTY,且不包含頂點屬性。

如何解決該問題並查看v列中的頂點屬性?在存儲後端的二進制格式

enter image description here

+0

以二進制格式泰坦存儲數據。所以你不能直接讀取數據。你必須解碼它。 –

+0

@AshrafulIslam如何通過gremlin命令檢索頂點細節? – maz

+0

嘗試'gV()。valueMap()' –

回答

1

泰坦存儲數據。所以你應該使用gremlin查詢。

  • 爲了讓所有的頂點和它的屬性:

例子:

gremlin> graph = TinkerFactory.createModern() 
==>tinkergraph[vertices:6 edges:6] 
gremlin> g = graph.traversal() 
gremlin> g.V().valueMap() 
==>[name:[marko],age:[29]] 
==>[name:[vadas],age:[27]] 
==>[name:[lop],lang:[java]] 
==>[name:[josh],age:[32]] 
==>[name:[ripple],lang:[java]] 
==>[name:[peter],age:[35]] 
+0

它的工作! ,我得到了所有的頂點,但我仍然不明白爲什麼'V'列是空的。你可以給我鏈接到信息如何添加頂點之間的邊緣? – maz

+0

@maz Titan使用'titan_ids'表生成唯一的id,並且表中的v列未被使用,這就是爲什麼它是空的 –

+0

順便說一句,如果它工作,您可以將答案標記爲accept,以便用戶用戶可以找到它有用的 –