Titan から Datastax に移行しています。Persons、Addresses、Phones などで構成される約 5,000 万のノードを含むグラフがあります。
Person ノードの接続を計算したい (同じ電話、住所などを持っている人の数)。
Titan では、個人ノード全体を処理する Hadoop ジョブを作成しました。この特定のノードで同じ電話を持っている人の数を確認するための gremlin スクリプトを作成できました。
だから私が持っている入力プロパティとして:
titan.hadoop.input.format=com.thinkaurelius.titan.hadoop.formats.hbase.TitanHBaseInputFormat
titan.hadoop.input.conf.storage.backend=hbase
クエリ フィルタの場合、個人ノードのみをクエリします
titan.hadoop.graph.input.vertex-query-filter=v.query().has('type',Compare.EQUAL,'person')
そして、私が使用するスクリプトを実行するには
titan.hadoop.output.conf.script-file=scripts/calculate.groovy
これにより、ノードごとに、その人が持っている共有電話接続の数が計算されます。
object.phone_shared= object.as('x').out('person_phones').in('person_phones').except('x').count()
この種のスクリプトを Datastax で記述して、人物ノードを調べる方法はありますか。たとえば、Datastax が Spark 分析を使用してノードをカウントしていることがわかります。
しかし、分析を使用してカスタム スクリプトを実行する方法に関するドキュメントは見つかりませんでした
ありがとう