2011-12-28 102 views
0

我需要知道有没有办法将数据从mysql导入到HDFS,还有一些我需要提及的条件。从MySql导入数据到HDFS的最佳方法

  • 我知道hbase,hive和sqoop可以帮助我,但我不想多余的图层。只需mapreduce和hadoop java api。
  • 我还需要在mySQL中更新数据时更新HDFS。

我需要知道将mysql数据导入HDFS并实时更新的最佳方法。

回答

2

为什么你不希望使用sqoop - 它你会做什么(打开JDBC连接获取数据,写的Hadoop)看到this presentation从Hadoop的世界09

+0

是的先生,我知道但希望看到可以只是hadoop做一些额外的书面code.And可以sqoop也解决我的问题实时记录更新hdfs,因为我们在MySQL数据库更新? – Debugger 2011-12-28 10:17:17

+0

如果您倾向于这样,您可以查看一下scoop代码并编写一部分代码。关于实时更新,你需要一个mySQL的“更改数据捕获”解决方案,可以写入HDFS来做到这一点(例如,这是一个来自http://www.talend.com/resource/change-data-capture。 HTML) – 2011-12-28 10:22:56

0

是的,您可以通过JDBC连接器和hadoop Java API访问数据库和HDFS。

但是在map-reduce中,访问数据库时,事物将不受控制。

  • 每个映射器/缩减器都试图建立到数据库的单独连接,最终影响数据库性能。
  • 映射器/缩减器不会执行查询结果集的哪一部分。
  • 如果有一个mapper/reducer访问数据库,那么hadoop并行性将会丢失。
  • 如果任何映射器/缩减器失败,则必须执行容错机制。
  • 不胜枚举......

为了克服这些障碍,Sqoop被开发/ HDFS从RDBMS之间传输数据。

相关问题