jdbc—在一个作业中读取多个数据库—hadoop

4dbbbstv  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(340)

我对hadoop非常陌生。我正在尝试编写一个map reduce作业,从两个不同的数据库(比如mysql和postgres)读取数据。我知道我们可以使用dbinputformat,通过如下指定jdbc驱动程序,从单个数据库(例如mysql)读取数据:

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

然而,如果我们想从多个数据库中读取数据,我们该怎么做呢?换句话说,我们如何在dbconfiguration中指定多个jdbc驱动程序?

ymdaylpp

ymdaylpp1#

另一种选择 MultipleInputs 将运行两个只Map的作业,然后运行最后一个作业,将这些作业的输出用作输入(使用标识Map器),并在reducer中执行所需的任何合并逻辑。

kdfy810k

kdfy810k2#

抱歉,没有oob支持。作为一种替代方法,您可以将RDBMS中的数据导出为原始文本文件,然后使用多个输入来执行任何您想要的操作。
我还建议您看看apachesqoop,以防您还没有完成。

相关问题