gpt4 book ai didi

database - 使用 Hadoop 对大型固定格式文件执行 DML 操作

转载 作者:行者123 更新时间:2023-12-02 20:12:48 24 4
gpt4 key购买 nike

我们有一个使用 MySQL 数据库作为数据存储的产品。数据存储包含大量数据。我们面临的问题是应用程序的响应时间很慢。数据库查询非常基本,连接非常简单(如果有的话)。据一些资深员工称,响应时间缓慢的根本原因是对庞大数据存储的数据库操作。

我们公司的另一个团队过去曾参与过一个项目,他们使用 Hadoop 处理大型固定格式文件,并将这些文件的内容转储到数据库表中。借用这个项目,一些团队成员觉得我们可以从使用 MySQL 数据库迁移到简单的固定格式文件来保存数据。将有一个文件对应于数据库中的每个表。然后,我们可以构建另一个数据交互层,提供对这些文件中的内容执行 DML 操作的接口(interface)。该层将使用 Hadoop 和 MapReduce 编程模型开发。

在这一点上,我想到了几个问题。
1. 问题陈述是否适合使用 Hadoop 解决的问题类型?
2. 应用程序将如何要求数据交互层获取/更新/删除所需的数据?据我了解,包含数据的文件将驻留在 HDFS 上。我们将生成一个 Hadoop 作业,该作业将处理所需的文件(类似于 db 中的表)并获取所需的数据。此数据将写入 HDFS 上的输出文件。我们将不得不解析这个文件以获得所需的内容。
3. 使用固定格式文件并用 Hadoop 处理它们的方法真的能解决问题吗?

我已经设法用两台 Ubuntu 机器建立了一个简单的节点集群,但是在玩了一段时间 Hadoop 之后,我觉得问题陈述不适合 Hadoop。我可能完全错了,因此想知道 Hadoop 是否适合这种情况,还是只是浪费时间,因为问题陈述与 Hadoop 的含义不符?

最佳答案

我建议直接去 Hive (http://hive.apache.org/)。它是构建在 Hadoop MR 之上的 SQL 引擎/数据仓库。
简而言之 - 它获得了 Hadoop 可扩展性和 hadoop 高延迟。
我会考虑在那里存储大量数据,进行所有必需的转换,并且只将汇总数据移动到 MySQL 以服务查询。通常将用户请求转换为配置单元查询并不是一个好主意——它们太慢了,并行运行作业的能力并非微不足道。

关于database - 使用 Hadoop 对大型固定格式文件执行 DML 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11628749/

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