我对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/