2016-08-22 28 views
1

我正在學習Titan。我用遠程模式下的HBase使用Titan。什麼存儲在HDFS中,爲什麼在Titan執行查詢時map-reduce計算速度如此之快?

現在有三個問題讓我困惑。我描述了他們在下面:

  1. 在TinkerPop3文檔,它說:「任何OLAP操作的結果被存儲在HDFS通過訪問HDFS。」但是現在我使用Titan作爲OLTP,在這種情況下存儲在HDFS中的是什麼?

  2. 當我們使用Titan連接HBase成功(通過Java IDE)時,我們可以看到在HBase shell中創建的表並掃描內容。表中內容「列」的含義是什麼?它們是否表示圖中的頂點ID?

  3. 當我測試了Titan的性能時,我觀察到查詢的速度比正常的map-reduce作業更快。爲什麼泰坦可以實現它?在Titan-Documentation中,他們表示Titan引擎「Titan-Hadoop」採用了並行map-reduce模型。我能得到更詳細的介紹嗎?

回答

0
  1. 泰坦architecture diagram有助於顯示OLTP和OLAP的使用之間的差異。請參閱架構圖的右側:TinkerPop API - Gremlin。無論您選擇哪種後端存儲(Cassandra,HBase,BerkeleyDB),OLTP都是最常見的Titan用法。當您使用Titan-HBase進行OLTP查詢時,HDFS中不存儲任何內容。事實上,HDFS/Hadoop在Titan-HBase上並不需要OLTP。

  2. 在HBase中掃描Titan表格的內容時,會發現圖形的序列化表示。 Titan在鍵/列/值上使用數據壓縮技術,因此您會發現數據不具有人類可讀性。您可以閱讀更多關於Titan docs中存儲佈局的詳細信息。

  3. 查看#1的答案,您可能已經在運行OLTP查詢。 Hadoop式OLAP圖形處理是通過圖形計算機完成的。它使用TitanHBaseInputFormat從後端存儲讀取數據,然後使用TinkerPop圖形計算機(Spark or Giraph)運行OLAP作業。請參閱上面的架構圖的左側:GremlinGraphComputer。在Titan docs中也有一些這方面的文檔。

+0

感謝您的回覆。我閱讀你的答案並理解它。這意味着當我們執行OLTP查詢時,它們轉移到OLAP作業以返回結果? Hadoop有兩個關鍵部分HDFS和Map-Reduce。如果HDFS在圖計算中存儲爲null且沒有map-reduce過程,爲什麼Titan引擎名爲'Titan-Hadoop'?由於Titan應用Hadoop式OLAP圖形處理並將OLAP操作的結果存儲在HDFS中? –

+0

順便說一句,根據你最後的回答,我已經解決了連接錯誤,非常感謝。 –

+0

OLTP和OLAP查詢處理流程完全分離。當您執行OLTP查詢時,您的請求會通過Titan API傳輸到存儲後端。儘管HBase可能使用HDFS,但如果將其配置爲完全分佈式集羣,Hadoop並不涉及Titan的角度。 –

相關問題