gpt4 book ai didi

java - 数据库连接应该在Reducer 中还是从Master 中建立?

转载 作者:行者123 更新时间:2023-11-30 00:46:49 25 4
gpt4 key购买 nike

我正在 Hadoop 中运行 MapReduce 作业。为了简单起见,我的 reducer 函数输出键以及键出现的次数。

我的管道的下一步是将这些数据发送到 MySQL 数据库(特别是 RDS 实例),但我在尝试访问 jdbc 驱动程序的 reducer 方面遇到了问题。这可能是因为驱动程序没有被发送到所有的 reducer ,并且仅打包在我的 jar 中。

对于这个程序,我相信与其尝试调试reducer,不如更容易地纠正另一个程序,该程序只是从 hdfs 中捕获数据并将一行一行发送到数据库。

让每个Reducer 连接到数据库是否可以通过我期望的并行化改进流程?在这种情况下,值得花时间去研究Reducers jdbc 驱动程序吗?

示例输出:hdfs:///user/hadoop/out/part-r-0000

Key1     150
Key2 214

最佳答案

我认为问题出在同一个数据库的并行连接上。但我不确定。我建议使用以下方法将输出作为一个合并文件获取:hadoop dfs -getmerge/HDFS_path/local_path
然后将文件批量加载到数据库中,而不是一条一条地写入记录。批量加载速度要快得多。

关于java - 数据库连接应该在Reducer 中还是从Master 中建立?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21296649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com