2015-10-05 64 views
0

因此,我正在開發一個預計可以處理大量數據的應用程序,因此我決定使用Hadoop來處理它。何時將數據移動到HDFS/Hive?

我的服務節點和datanodes與webapp分開,所以我使用HttpFS與Hadoop通信應用程序。

因此,無論何時在我的應用程序中生成一個新的數據,我是否應該已經調用相應的HttpFS URL來將數據追加到HDFS文件?我應該將這些數據寫入網絡服務器的文件中,並且每隔一小時使用cronjob將其上傳到HDFS? 我是否應該更新Hive表,還是隻需在需要查詢時就將數據加載到那裏?

我對Hadoop很新,所以任何可能有用的鏈接都會有用。

回答

0

我更喜歡下面的方法。

  1. 不要調用HtpFS URL來向每個行更新的HDSF文件追加數據。當數據文件大小超過128 MB(在Hadoop 2.x中)或64 MB(在Hadoop 1.x中)時,HDFS是有效的。

  2. 將數據寫入Web服務器。當文件大小達到一定限制時有一個滾動appender - 以128 MB的倍數,例如1 GB文件。

  3. 您可以使用基於小時的cron作業,但要確保發送大數據文件(例如1 GB或128 MB的倍數),而不是僅發送1小時內累積的日誌文件。

  4. 關於加載數據,您可以使用內部或外部HIVE表。看看這個article

+0

謝謝!這非常有用。你能解釋一下如何配置oozie這個4步過程嗎?我發現它與所有的配置文件和東西有點混淆 – Ivan

+0

我正在學習和練習hadoop的權威指南,逐章。掌握oozie可能需要1或2周的時間 –