Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop与MySQL的集成_Mysql_Integration_Hadoop - Fatal编程技术网

Hadoop与MySQL的集成

Hadoop与MySQL的集成,mysql,integration,hadoop,Mysql,Integration,Hadoop,我们希望在我们的系统上实现Hadoop以提高其性能 过程如下所示: Hadoop将从MySQL数据库收集数据,然后进行处理。 然后,输出将导出回MySQL数据库 这是一个好的实现吗?这会提高我们系统的整体性能吗? 要求是什么?以前有没有这样做过?一个好的教程会很有帮助 感谢您,Hadoop主要用于基于大数据量半结构化数据的批处理作业。。批处理在某种意义上说,即使是最短的作业也以分钟为数量级。您面临什么样的性能问题?它是基于数据转换还是基于报告。这取决于这种体系结构可能有助于或使事情变得更糟。我同

我们希望在我们的系统上实现Hadoop以提高其性能

过程如下所示: Hadoop将从MySQL数据库收集数据,然后进行处理。 然后,输出将导出回MySQL数据库

这是一个好的实现吗?这会提高我们系统的整体性能吗? 要求是什么?以前有没有这样做过?一个好的教程会很有帮助


感谢您,Hadoop主要用于基于大数据量半结构化数据的批处理作业。。批处理在某种意义上说,即使是最短的作业也以分钟为数量级。您面临什么样的性能问题?它是基于数据转换还是基于报告。这取决于这种体系结构可能有助于或使事情变得更糟。

我同意Sai。我只在需要的时候才使用Hadoop和MySql。我将表格导出到CSV中,并将其上载到HDFS以更快地处理数据。如果要持久化处理后的数据,必须编写一个reducer作业,该作业将执行某种类型的批插入,以提高插入的性能

但是这实际上取决于您想做什么。

Sqoop是一种设计用于将数据从关系数据库导入Hadoop的工具


还有一段关于它的视频

尽管它不是hadoop的常规用法。在以下情况下可能有意义:
a) 如果您有很好的方法将数据划分到输入中(如现有的分区)。
b) 每个分区的处理都比较繁重。我会给出每个分区至少10秒的CPU时间。
如果这两个条件都满足,您将能够应用任何所需的CPU功率来进行数据处理。
如果你正在做简单的扫描或聚合-我认为你不会得到任何东西。另一方面,若您要在每个分区上运行一些CPU密集型算法,那个么您的收益确实是巨大的。
我还要提到一个单独的案例——如果您的处理需要大量数据排序。我认为MySQL不能很好地对数十亿条记录进行排序。Hadoop会做到这一点。

正如Joe所提到的,它是Hadoop生态系统的一个很好的工具,可以从SQL数据库(如MySQl)导入和导出数据


如果您需要更复杂的MySQL集成,包括过滤或转换,那么您应该使用集成框架或集成套件来解决此问题。查看我的演示文稿“”,了解有关如何将开源集成框架和集成套件与Hadoop结合使用的更多信息

我相信将其导出到csv文件,然后将其加载到mysql将比直接从hadoop将输出批量插入db更快。后者是一个jdbc调用,与文件加载相比速度较慢,这是Hadoop的常规用法。见拉姆达建筑。使用MySQL作为速度层是规范性的(尽管也使用了其他工具)。如果这不是规范性的,SQOOP就不存在了。通常,当我们添加大规模可伸缩性时,hadoop是有意义的。在一个MySQL上运行几十个映射程序不会带来太多好处。通常的用法是让hadoop预处理和聚合原始数据,然后加载到RDBMS。。。