2015-10-04 40 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引擎)查询

相关问题