http://www.cloudera.com/blog/2011/07/hoop-hadoop-hdfs-over-http/
Hoop 是由 Apache Hadoop 所提供的新工具,Hoop 提供 REST API 透過 HTTP 來存取 HDFS,它使用在Hadoop叢集運行不同版本平台之間的資料交換,或存取防火牆後的資料。
為何會往Hoop去做研究?
主要是因為Jena API loadModel()只能讀取file or http格式,它是不認識hdfs檔案路徑的。
所以當OWL與RDF放置HDFS上,底下的程式碼是無法讀取的,除非去更改Jena API程式。
Model schema = FileManager.get().loadModel(" file:XXX.owl ");
Model data = FileManager.get().loadModel("file:XXX.rdf");
使用Hoop或許可以解決這個問題,因為可以透過HTTP去存取到HDFS上的檔案。
Reading a file:
$ curl -i "http://hoopbar:14000?/user/babu/hello.txt&user.name=babu"
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Transfer-Encoding: chunked
Hello World!
可以看到使用HTTP協定即可讀取到HDFS上的檔案,目前還在實測是否可行,會在補上後續測試結果。
6/30補充
後續建置Hoop Server的過程中一直有些小問題建置不起來,如PID被占用伺服器無法啟動問題,還有使用mvn打包Hoop過程中的error訊息...等。
後來發現Hadoop的HDFS Web介面有提供以http協定的檔案路徑,所以暫時解決Jena API讀取HDFS裡的OWL與RDF檔案的問題。
沒有留言:
張貼留言