我正在使用我的 reducer 将数据输入 MySQL。 我担心的是,在某些情况下,同时为同一个键启动多个 reducer。在这种情况下,数据库可能会被相同的数据更新两次。 有什么方法可以防止这种情况发生吗?
在这种情况下,关闭 SQL 连接中的自动提交模式是否有意义?
最佳答案
您可以更改设置:
mapred.reduce.tasks.speculative.execution
如果是这种情况,这将禁用 reduce 任务的推测执行。
我建议的另一种方法是使用 Sqoop 写入 MySQL:http://archive.cloudera.com/cdh/3/sqoop/SqoopUserGuide.html#_literal_sqoop_export_literal
关于mysql - 使用 Hadoop 更新 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6024454/