在MYSQL的情况下,DBInputFormat如何工作?

时间:2013-04-01 08:37:26

标签: mysql database hadoop

当在像MYSQL这样的数据库上运行map reduce程序时,我只是想知道是否先在数据库上触发查询然后获得结果集,然后创建分割以由各个映射器操作,每个分割器都进行分割

1 个答案:

答案 0 :(得分:0)

我相信它首先检索所有记录,然后创建逻辑分割,如您在setInput()的签名中看到的那样:

public static void setInput(JobConf job,
                            Class<? extends DBWritable> inputClass,
                            String inputQuery,
                            String inputCountQuery)

它得到inputCountQuery,这使得hadoop决定了映射器的数量以及每个映射器要处理的记录数。

另请阅读输入格式的限制部分here