我有一些未启用JDBC的数据库,但我可以从这些数据库中检索数据。我想将这些数据传递给mapreduce程序中的映射器。我努力从“mapreduce.lib.DB”包中的源文件中找出问题,但我觉得我错过了一些东西。任何人都可以告诉我如何将数据库的输出传递给映射器?
答案 0 :(得分:0)
我认为你需要Sqoop。
首先,您必须使用sqoop import
命令将数据从rdbms传输到hdfs。
稍后您将编写一个mapreduce程序,该程序将输入路径作为方法setInputpath
的参数。
答案 1 :(得分:0)
一种简单的方法是将数据从数据库批量导出到文件中,将文件放入HDFS,然后使用FileInputFormat在HDFS中读取文件并进行处理。