有没有办法使用JDBC作为Hadoop的MapReduce的输入资源?

时间:2013-07-16 18:07:52

标签: hadoop mapreduce hbase

我在PostgreSQL数据库中有数据,我想得到它,对待它并将其保存到HBase DB。是否可以在Map操作中以某种方式分发JDBC操作?

2 个答案:

答案 0 :(得分:3)

是的,您可以DBInputFormat

执行此操作

DBInputFormat使用JDBC连接到数据源。由于JDBC已广泛实施,DBInputFormat可与MySQLPostgreSQL和其他几个数据库系统配合使用。各个数据库供应商提供JDBC驱动程序,以允许第三方应用程序(如Hadoop)连接到其数据库。

DBInputFormat是一个InputFormat类,允许您从数据库中读取数据。 InputFormat是Hadoop对数据源的形式化;它可以指以特定方式格式化的文件,从数据库读取的数据等。DBInputFormat提供了一种从数据库扫描整个表的简单方法,以及从任意SQL个查询中读取的方法针对数据库执行。

LINK

答案 1 :(得分:2)

我认为您正在寻找Sqoop,它旨在从SQL服务器导入到HDFS堆栈技术。它将从JDBC连接获取的数据放入HDFS,从而将其分散到Hadoop NameNodes中。我相信这就是你要找的东西。

SQl toOOP = SQOOP,得到它?

Sqoop可以导入HBase。请参阅this link