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

Java 在单元测试中启动简单的独立hadoop服务器,java,unit-testing,maven,hadoop,hive,Java,Unit Testing,Maven,Hadoop,Hive,背景:作为测试框架的一部分,我正在尝试测试Hive查询。我想创建一个简短的测试,测试数据的一小部分,以便查询快速返回,并能够在每台计算机(甚至是私人笔记本电脑)上运行它们。目标是能够签出代码,使用maven构建并运行测试 问题:我有没有办法只使用java代码启动一个独立的hadoop(或某种模拟器),而不下载和安装可以作为测试的一部分运行 我的目标是让一个测试在其@Before方法中在测试中设置hadoop,并在测试结束时将其删除。您看过MiniCluster API()了吗 下面是一篇博客文章

背景:作为测试框架的一部分,我正在尝试测试
Hive
查询。我想创建一个简短的测试,测试数据的一小部分,以便查询快速返回,并能够在每台计算机(甚至是私人笔记本电脑)上运行它们。目标是能够签出代码,使用maven构建并运行测试

问题:我有没有办法只使用java代码启动一个独立的hadoop(或某种模拟器),而不下载和安装可以作为测试的一部分运行


我的目标是让一个测试在其
@Before
方法中在测试中设置hadoop,并在测试结束时将其删除。

您看过MiniCluster API()了吗

下面是一篇博客文章,介绍了如何使用此API的一些细节:

它看起来像是你要找的东西

看一看-单元测试配置单元的开源项目

  • Fast-它通过使用HiveContext在内存中运行
  • 独立-可以在不安装服务器的情况下从笔记本电脑/dextop运行
  • Maven集成-包含在Maven central中,可以轻松地作为Maven依赖项包含在项目中
  • JUnit集成-与JUnit单元测试框架完全集成
它还解决了从您喜爱的IDE执行独立单元测试的问题

它可以在任何操作系统(包括Windows、Linux和MacOSX)上从您喜爱的IDE执行单元测试。以下是有关使用HiveQLUnit-的一些指导


注意:我是HiveQLUnit OS项目的成员。

谢谢您的回答。这对我来说已经不再重要了。已经两年了,我已经离开了这个工作场所。但是,嘿,也许其他人会从中受益:)你似乎是那个项目的作者之一。你必须公开你与某个项目的联系,否则你的答案将被视为垃圾邮件。