Mazerunner是neo4J相簿擴充套件
Mazerunner 是擴充Neo4j相簿執行大大資料圖計算演算法,支援HDFS 和 Apache Spark.
使用Apache Spark和neo4j大資料圖分析介紹其詳細使用。
Mazerunner使用訊息釋出圖處理任務給Apache Spark的 GraphX模組. 當一個代理任務被髮布以後,從Neo4j輸出子圖寫入到Apache Hadoop HDFS.
當 Neo4j輸出一個子圖subgraph到HDFS以後, 另外一個為Spark服務的Mazerunner將收到提示,可以開始處理資料了。這個 Mazerunner服務將使用Scala和Spark的GraphX模組開始 釋出圖處理演算法,GraphX演算法被序列化分發給Apache Spark進行處理.
一旦Apache Spark的處理工作完成, 結果將被作為一個Key-Value屬性列表寫回HDFS, 用於回頭對Neo4j的更新.
當一個屬性列表在Apache Spark的HDFS上準備就緒,Neo4j將接收到提示,Neo4j會批匯入處理結果,更新原始的圖。
該文還以演員和影片為案例舉例說明了具體用法。
假設如果某個人知道某個演員在某個影片中出演,他就會認識這個演員:
MATCH (a1:Person)-[:ACTED_IN]->(m)<-[:ACTED_IN]-(coActors)
CREATE (a1)-[:KNOWS]->(coActors);
然後我們就可以使用Mazerunner 的PageRank演算法發現最受歡迎的演員,執行:
http://localhost:7474/service/mazerunner/pagerank
這會將PageRank演算法處理結果寫會Neo4J的Person節點的Weight屬性,透過下面語句查詢最受歡迎的演員:
neo4j-sh (?)$ MATCH n WHERE HAS(n.weight) RETURN n ORDER BY n.weight DESC LIMIT 10;
+-----------------------------------------------------------------------+
| n |
+-----------------------------------------------------------------------+
| Node[71]{name:"Tom Hanks",born:1956,weight:4.642800717539658} |
| Node[1]{name:"Keanu Reeves",born:1964,weight:2.605304495549113} |
| Node[22]{name:"Cuba Gooding Jr.",born:1968,weight:2.5655048212974223} |
| Node[34]{name:"Meg Ryan",born:1961,weight:2.52628473708215} |
| Node[16]{name:"Tom Cruise",born:1962,weight:2.430592498009265} |
| Node[19]{name:"Kevin Bacon",born:1958,weight:2.0886893112867035} |
| Node[17]{name:"Jack Nicholson",born:1937,weight:1.9641313625284538} |
| Node[120]{name:"Ben Miles",born:1967,weight:1.8680986516285438} |
| Node[4]{name:"Hugo Weaving",born:1960,weight:1.8515582875810466} |
| Node[20]{name:"Kiefer Sutherland",born:1966,weight:1.784065038526406} |
+-----------------------------------------------------------------------+
10 rows
Tom Hanks是最受歡迎的演員。
[該貼被banq於2014-11-06 10:07修改過]
相關文章
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- 【Kotlin】擴充套件屬性、擴充套件函式Kotlin套件函式
- 資料中心基礎設施是應該縱向擴充套件還是橫向擴充套件?套件
- 【JavaScript】什麼是擴充套件運算子?JavaScript套件
- 擴充套件工具套件
- Sanic 擴充套件套件
- Mybatis擴充套件MyBatis套件
- SpringMVC 擴充套件SpringMVC套件
- ORACLE 擴充套件Oracle套件
- 使用Kotlin擴充套件函式擴充套件Spring Data案例Kotlin套件函式Spring
- JMeter 擴充套件開發:擴充套件 TCP 取樣器JMeter套件TCP
- dubbo是如何實現可擴充套件的?套件
- ?用Chrome擴充套件管理器, 管理你的擴充套件Chrome套件
- ASP.NET Core擴充套件庫之Http通用擴充套件ASP.NET套件HTTP
- iOS 通知擴充套件iOS套件
- swift擴充套件ExtensionsSwift套件
- 擴充套件BSGS/exBSGS套件
- Json擴充套件方法JSON套件
- 分類擴充套件套件
- 提高擴充套件性套件
- HttpContext擴充套件類HTTPContext套件
- DOM部分擴充套件套件
- LINQ擴充套件方法套件
- Flask 自建擴充套件Flask套件
- 新增php擴充套件PHP套件
- 擴充套件表示式套件
- 擴充套件包上傳套件
- Nmap 擴充套件(四)套件
- 可擴充套件性套件
- 19-擴充套件套件
- PHP擴充套件開發就是一個自己的PHP擴充套件PHP套件
- 以太坊第 2 層擴充套件是什麼?套件
- dubbo是如何實現可擴充套件的?(二)套件
- 乾貨丨如何水平擴充套件和垂直擴充套件DolphinDB叢集?套件
- c盤擴充套件卷選項是灰的怎麼辦 c盤不能擴充套件卷的辦法套件
- 正則的擴充套件套件
- jQuery外掛擴充套件jQuery套件
- jQuery擴充套件外掛jQuery套件
- 線段樹擴充套件套件