如何为大型 MySQL 表轻松配置 Hadoop

Posted

技术标签:

【中文标题】如何为大型 MySQL 表轻松配置 Hadoop【英文标题】:How to easy configure Hadoop for big MySQL table 【发布时间】:2018-06-06 17:38:20 【问题描述】:

我正在做我的学生作业。请帮助我了解我应该朝哪个方向移动。

所以,我的 PC 上有一个大型 mysql 数据库(31.3Gb,1.3 亿行)。我写了一个简单的 html 页面(我的程序的接口)。我使用 php 连接到我的数据库,使用 AJAX 从服务器异步检索数据,使用 OpenServer(用于测试的本地服务器)。

它是如何工作的:用户在我的 html 页面上选择一些过滤器,单击搜索按钮,它会显示主表。

一切正常,但我应该使用什么来将我的项目连接到 Hadoop?这是一项强制性要求。 也许是 HortonWorks/Cloudera/Docker? 如果您在一些有用的指南上发送链接,这将非常有用。

主要标准是易于配置和安装。此外,我的笔记本电脑上只有 4Gb 的 RAM,所以很可能我必须使用旧版本的工具。即使在我的虚拟机(Ubuntu 14.04)上也成功安装了 HortonWorks 2.1 提前感谢大家的帮助!

【问题讨论】:

你打算用 Hadoop 做什么? 用于加快从表中搜索。老实说,我对此并没有太多了解。这只是我的大学作业所必需的 将在答案中给出一些指示,因为在 cmets 部分中可能不清楚。希望它能让你继续前进。 您不会“为 MySQL 配置 Hadoop”...您会“将数据库导出”到 Hadoop...但是,尚不清楚您为什么需要它。它绝对不会用你拥有的那么一点内存来加快速度......你需要一个 数据库(如 HBase),而不是 Hadoop 文件系统 【参考方案1】:

您可以使用Sqoop import 将数据从MySQL 推送到Hive。 然后,您可以通过HiveServer2查询。

获取Hadoop等组件,最好使用HDP或CDH沙盒。如果您的机器资源不允许使用沙盒,请考虑使用AWS。

在 Hive 中获得数据后,您可以将应用程序指向 Hive 并提供结果,而不是转到 MySQL。

【讨论】:

以上是关于如何为大型 MySQL 表轻松配置 Hadoop的主要内容,如果未能解决你的问题,请参考以下文章

如何为 MySQL 表添加索引?

如何为Hadoop集群选择正确的硬件

如何为大数据处理构建高性能Hadoop集群

如何为大数据处理构建高性能Hadoop集群

如何为频谱表定义排序键

HGDB中如何为大表增加新主键