其中的一些可能是主觀的,所以我會盡力堅持與多數人一致認爲的:
- 流數據 - MapReduce的本質是批量。你有一些你在MapReduce中編寫的東西,但它很難得到它,因此它會處理實時傳輸的數據流。有一些項目正在計劃解決這個問題,比如Storm。
- 實時分析 - 同樣,MapReduce是批處理,針對聚合和大規模性能而設計,無法快速回復答案。每個工作都需要1-2分鐘的開銷,因此MapReduce的響應時間不到一分鐘就非常具有挑戰性。這與Hadoop作爲一個軟件有很大關係,而不是作爲範例的MapReduce。
- 記錄抓取 - 就像您無法在短時間內運行分析一樣,獲取單個記錄或小塊數據對於MapReduce來說並不容易。 MapReduce擅長全表掃描,而不是選出一兩個記錄。這是HBase填充的利基。
- 大規模重組 - 不知道這是一個好的術語,但任何需要大量數據在網絡上混洗的任何東西都可能對您的網絡基礎設施構成挑戰。這是因爲這些問題沒有充分利用數據局部性。這方面的一些例子是全部的順序排序和跨大型數據集的連接。