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

标签 mysql database hadoop

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

最佳答案

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

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

它获取 inputCountQuery,它使 hadoop 决定映射器的数量以及每个映射器要处理的记录数。

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

关于mysql - 在 MYSQL 的情况下,DBInputFormat 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15740197/

相关文章:

php - laravel 5.4 内部查询中的变量未定义

java - 从 Android 向 MySql 插入数据

database - Liquibase 对 Postgres 和 Oracle 的支持

mysql - 使用密码和用户名锁定 mysql 数据库

hadoop - 大数据分析模拟

hadoop - 从 Hadoop 0.20.2 迁移到 0.20.205 以及从 0.20.2 迁移到 1.0.1 需要付出多少努力?

hadoop - 如何将Azure存储模拟器用于Hadoop?

mysql - Golang mysql select * 语句只返回第一个值

mysql - 分别计算唯一日期的平均计数

java - 强制方法调用以避免抛出异常