我的项目是信息转发系统(我们通过msc,hlr和vlr向客户手机发送短信)。实际的工作流程是从mysql数据库中提取手机号码,并将短信转发到特定的手机上。现在我们每天向20l号码(客户)发送短信。用c和c++技术开发的。那么,如果使用mapreduce的概念,我是否可以将20l分成两部分,并将短信转发给那些被拆分的号码。请引导我这样做,如果我的问题是错的,请不要紧张。你好,古纳塞卡
mfuanj7w1#
首先了解什么是mapreduce,它是一种技术或可以说是算法,我们在其中 map 从某物到某物。e、 给任何一个数字加上一个字,然后 reduce 它基于 key . 你可以在任何地方应用同样的逻辑。hadoopmapreduce通过洗牌和排序使事情变得更简单。在hadoop中,有很多框架都使用mapreduce。 sqoop 用于hdfs和rdbms之间的数据传输。 hive 它在内部运行mapreduce(如果使用mapreduce引擎)进行查询
map
reduce
key
sqoop
hive
r7knjye22#
您必须将数据从mysql数据库移动到hdfs。因为mapreduce处理hdfs中的数据。所以你可以试试这些东西。1.使用sqoop,将mysql数据库中的数据带到hdfs中。2.关于并行化,在hdfs中存储数据时,框架将根据指定的块大小(默认为64 mb)分割文件并保存它。所以你不需要拆分20l的数字。假设您要从mysql下载到hdfs的文件是200MB,那么您的文件将被分成4个部分(364+18)。一个Map器将为每个分裂运行,所以你将有4个Map器运行。一切都是根据您的需要配置。阅读hadoop权威指南了解更多细节。
2条答案
按热度按时间mfuanj7w1#
首先了解什么是mapreduce,它是一种技术或可以说是算法,我们在其中
map
从某物到某物。e、 给任何一个数字加上一个字,然后
reduce
它基于key
. 你可以在任何地方应用同样的逻辑。hadoopmapreduce通过洗牌和排序使事情变得更简单。
在hadoop中,有很多框架都使用mapreduce。
sqoop
用于hdfs和rdbms之间的数据传输。hive
它在内部运行mapreduce(如果使用mapreduce引擎)进行查询r7knjye22#
您必须将数据从mysql数据库移动到hdfs。因为mapreduce处理hdfs中的数据。所以你可以试试这些东西。
1.使用sqoop,将mysql数据库中的数据带到hdfs中。
2.关于并行化,在hdfs中存储数据时,框架将根据指定的块大小(默认为64 mb)分割文件并保存它。所以你不需要拆分20l的数字。假设您要从mysql下载到hdfs的文件是200MB,那么您的文件将被分成4个部分(364+18)。一个Map器将为每个分裂运行,所以你将有4个Map器运行。一切都是根据您的需要配置。阅读hadoop权威指南了解更多细节。