java—在单元测试中启动简单的独立hadoop服务器

wfypjpf4  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(276)

背景:我想测试一个 Hive 查询作为我们测试框架的一部分。我想创建简短的测试,测试数据的一小部分,以便查询快速返回,并且能够在每台计算机(甚至是私人笔记本电脑)上运行它们。目标是能够 checkout 代码、使用maven构建和运行测试。
问:有没有一种方法可以让我只使用java代码启动一个独立的hadoop(或者某种模拟器),而不下载和安装可以作为测试的一部分运行?
我的目标是要有一个测试,在其本身 @Before 方法在测试中设置hadoop,测试结束时删除。

tag5nh1u

tag5nh1u1#

看看hiveqlunit—一个单元测试配置单元的开源项目。
快速-它通过使用hivecontext在内存中运行。
独立-可以从笔记本电脑/dexktop运行,无需安装服务器。
maven集成-包含在maven central中,可以很容易地作为maven依赖项包含在项目中。
junit集成—与junit单元测试框架完全集成
它还解决了从您喜爱的ide执行独立单元测试的问题。
它可以在任何操作系统(包括windows、linux和macosx)上从您喜爱的ide执行单元测试。下面是一些关于使用hiveqlunit文档的指导。
注:我隶属于hiveqlunitos项目。

h43kikqp

h43kikqp2#

你看过小型集群API吗(http://wiki.apache.org/hadoop/howtodevelopunittests) ?
下面是一篇博客文章,介绍了如何使用此api的一些细节:http://www.lopakalogic.com/articles/hadoop-articles/hadoop-testing-with-minicluster/
看起来像是你要找的。

相关问题