2016-10-26 59 views
-1

我很困惑決定解決我的問題的技術和方法。如何選擇Hadoop工具以獲得更快的性能

我有5000個測試文件,其中包含從RDBMS生成的大約4TB的數據,並且需要大約4天的時間來準備所有5k文本文件。要解決此問題,我正在考慮將所有我5k文本文件數據導入到Hadoop系統中,以便從那裏可以更快地讀取數據,並以更快的速度生成文本文件。

我必須首次完成這項活動後,數據會增加,但每個月我必須生成5k文本文件。

通常我必須做全表掃描,並可能必須執行一些連接才能準備5個K文件。

任何人都可以請建議哪種工具,我應該考慮這種情況。 MapReduce和HBase或HIVE表或其他東西。

+0

全表掃描,使用HIVE。 –

回答

0

由於您想要將文本文件移動到Hadoop並生成文本文件,因此您試圖執行的操作有點不清楚?我會盡量回答幾點要考慮的問題。

您使用的方法和您使用的技術取決於一些因素,例如您想如何使用數據:將其全部導出到另一個系統?做分析嗎?對小部分數據進行隨機存取讀取?或者只是爲了法律要求而將其歸檔?

導入數據的某些選項:

  1. 如果輸入數據已文本文件,他們是一個定義良好的結構(如分隔),那麼你可以直接將它們移動到HDFS並創建一個蜂巢外部表在需要時閱讀它們。這應該比其他方法更快實施。
  2. 如果輸入是文本文件但結構很難處理使用Hive QL,請考慮使用Spark導入,重新格式化和導出數據。然後,如果您希望使用來自Hive的數據,則可以將數據作爲分隔文件存儲在HDFS上,或者將數據加載到HBase中。
  3. 如果輸入數據來自RDMS,並且您有權訪問RDMS:可以使用Hive或Spark - 查看Spark JDBC。如果你想轉換你的數據,Hive會更簡單但靈活性更低。使用連接添加簡單的尺寸信息可以在Hive中完成。如果數據不容易加入,Spark代碼會提供更高的靈活性,但編寫起來會更復雜。 Spark還可以處理實時流,如果您的源產生流式數據,這將非常有用。
  4. 要對Hive中難以執行的數據執行復雜轉換,或者需要多次傳輸數據(慢),請考慮使用執行內存中處理的Spark。 Spark可以快速操作數據 - 在尺寸上添加&格式化數據可以快速而靈活地完成。缺點是你需要開發&維護自定義代碼來執行此操作,例如在Java,Python或Scala中。一旦完成轉換,您可以將數據寫入HDFS作爲分隔文件,如果您想從Hive訪問它的話。或者,如果您想快速隨機訪問數據,請加載HBase。
  5. 如果您想從RDMS中提取並且提取邏輯非常簡單(例如,基於Updated_date列進行提取),則Sqoop是一個選項。Sqoop是不是很定製的,所以什麼比這更復雜,你應該考慮其他選項,使用數據

一些選項:

  1. 蜂巢讓你可以更容易類似SQL的語言如果您的團隊或最終用戶熟悉SQL,請使用它。 Hive可以進行連接,總結等。您可以安排這些與Oozie每日/每週/每月運行。請注意,Hive在羣集上執行MapReduce作業,就像在每個節點上的磁盤上運行的「批處理」一樣。不適合快速交互式查詢,但適合同時處理大部分數據。這聽起來像你可能想要做批處理處理。您還可以讓分析師用戶訪問Hive,以對您定義的表執行分析。最後,您可以使用ODBC連接到Excel中的Hive,根據您的使用情況,這可能非常有用。
  2. 對於快速隨機訪問海量數據,HBase是一個不錯的選擇。比如從數百萬客戶那裏查找一個客戶的信息。但是,在HBase表中執行分析並不理想,因爲HBase不會像Hive一樣有效地執行全表掃描。
  3. 混合選項:如果您想偶爾進行批量查詢並通過HBase進行隨機訪問,則可以將數據存儲在HBase中並創建Hive外部表。由於使用HBase掃描,Hive查詢通常會比使用分隔文件而不是HBase更慢。
  4. 如果您不想在每條記錄上添加查找信息,並且使用Hive並不合適,因爲您想要隨機訪問,請考慮使用Storm DRPC在數據上實時添加維度被請求。這適用於隨機訪問數據,在HDFS中爲每條記錄存儲所有維度信息的效率較低。比Hive做得更復雜,更靈活。
+0

感謝您的詳細說明。我已經結構化5K文本文件正確分隔。此類文件的大小是4TB.I已決定去HBase批量上傳.HBase是因爲後來我必須更新和刪除批量是一次性作業然後整合HBE和HIVE,這樣我就可以執行加入和全表掃描。 – SUDARSHAN

+0

如果文件被分隔,您可以將它們移動到HDFS中,並通過它們創建一個Hive外部視圖。 這將比HBase批量加載更快更簡單 - 更快速,更簡單地執行掃描和加入。 – bjorno

+0

我有分隔數據,但我也有增量數據,這將作爲XML文件.HIVE將能夠處理incemental數據呢? – SUDARSHAN

相關問題