database - 在单个作业中从多个数据库读取-hadoop

标签 database jdbc hadoop mapreduce

我对Hadoop非常陌生。我正在尝试编写一个map-reduce作业,该作业从两个不同的数据库读取数据(例如MySQL和Postgres)。我知道我们可以使用DBInputFormat并通过指定JDBC驱动程序,从单个数据库(例如MySQL)中进行读取,如下所示:

DBConfiguration.configureDB(conf, “com.mysql.jdbc.Driver”, “jdbc:mysql://localhost/mydatabase”); 

但是,如果要从多个数据库中读取数据,我们该怎么做?换句话说,我们如何在DBConfiguration中指定多个JDBC驱动程序?

最佳答案

MultipleInputs的另一种替代方法是运行2个仅map作业,然后运行最后一个作业,以将这些作业的输出用作输入(通过Identity Mapper),并执行您在reducer中所需的任何合并逻辑。

关于database - 在单个作业中从多个数据库读取-hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17375329/

相关文章:

java - 不通过执行 Java 应用程序在 ARM 上加载 JDBC 库

java - 用于模拟的可编程 JDBC 驱动程序

hadoop - 在 hdfs 中重命名目录

hadoop - 服务器安装 hdfs 客户端失败

php - 如何使用连接超过3个表来计算列数据

java - realm是关系型数据库吗?

javascript - 什么代码方法可以让用户在 PHP/MySQL 中应用三个可选变量?

sql - PostgreSQL 分组依据和总和

java - 在ojdbc6中,unmarshalCLR和unmarshalUB1是做什么的?

3d - Hadoop 和 3d 图像渲染