我正在使用Hadoop並嘗試使用兩個數據集進行一些互動功能什麼是最佳方案。我可以將其中一個加載到內存中,然後與其他數據集的map函數相交,但是如果數據集對RAM內存來說太大,這不是解決方案,那麼您的想法是什麼?使用Hadoop和兩個數據集
感謝您的回答,我會試試看看最好的解決方案。
我正在使用Hadoop並嘗試使用兩個數據集進行一些互動功能什麼是最佳方案。我可以將其中一個加載到內存中,然後與其他數據集的map函數相交,但是如果數據集對RAM內存來說太大,這不是解決方案,那麼您的想法是什麼?使用Hadoop和兩個數據集
感謝您的回答,我會試試看看最好的解決方案。
您可以嘗試將它們放入DistributedCache
- 在該頁面上有一個很好的說明性示例。
分佈式緩存非常適用於小型數據集,並可以考慮高速緩存在內存中。如果數據量很大,如您所述,分佈式緩存不是一個選項。
Hadoop框架允許排序的大型數據集,但是,您可能必須遵循的步驟數,其中一項規定是,在此之前可以進行聯接輸入數據集必須進行排序。您可以考慮利用Apache Hive來實現這一點。如果蜂巢被排除了,在這個環節中提到的步驟應該可以幫助您開始爲大型數據集
Configure Map Side join for multiple mappers in Hadoop Map/Reduce