2015-10-04 56 views
0

我的項目是消息轉發系統(我們通過MSC,HLR和VLR向客戶發送短信)。實際的工作流程是從mysql數據庫和轉發短信移動號碼到特定mobile.Now我們發送短信到20L號碼(客戶)/天。通過使用c和C++技術開發。所以,如果通過使用MapReduce概念,我是否可以將這些20L分成兩部分,並且可以將sms轉發給那些分割的數字。請指導我這樣做,如果我的問題不對,請不要緊張。我們可以將MapReduce用於除分析以外的其他邏輯嗎?

問候, Gunasekar

回答

0

你將不得不從mysql數據庫中的數據移動到HDFS。由於mapreduce適用於HDFS中的數據。所以你可以嘗試這些東西。

1.使用sqoop將mysql數據庫中的數據導入HDFS。

2.關於並行化,將數據存儲在HDFS中時,框架將根據指定的塊大小(默認爲64 MB)拆分文件並保存它。所以你不需要分割20L號碼。假設你的文件從mysql登陸HDFS爲200 MB,你的文件將被分割成4個分割(3 * 64 + 1 * 8)。一個映射器將運行每個分割,所以你將有4個映射器運行。一切都可以根據您的需要進行配置。閱讀Hadoop有關更多詳細信息的權威指南。

+0

當然,你可以直接在MySQL上運行的MapReduce hive,你只需要實現的輸入格式。 –

+0

@ThomasJungblut對不起,以前沒有意識到。謝謝你讓我知道。 –

+0

非常感謝你@ Vignesh .....我有同樣的想法,即使我不確定..現在我已經清除了。 –

0

首先了解什麼是MapReduce, 這是一種技術或可以說算法,其中我們map東西的東西。

例如某些字到任何數字只是保持計數,然後reduce它基於key。 您可以在任何地方應用相同的邏輯。

Hadoop MapReduce通過洗牌和排序使事情變得更簡單。

在Hadoop自己有很多框架,它使用MapReduce 例如。 sqoop用於HDFS和RDBMS之間的數據傳輸。

其內部運行的MapReduce(如果它使用的MapReduce引擎)查詢

相關問題