1

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

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

我的目标是有一个测试,在它的@Before方法中设置 hadoop 在测试结束时被删除的测试。

4

2 回答 2

2

您看过 MiniCluster api ( http://wiki.apache.org/hadoop/HowToDevelopUnitTests ) 吗?

这是一篇博客文章,其中介绍了如何使用此 API 的一些详细信息:http ://www.lopakalogic.com/articles/hadoop-articles/hadoop-testing-with-minicluster/

它看起来像您可能正在寻找的东西。

于 2013-10-15T21:07:09.220 回答
1

看看HiveQLUnit - 一个对 Hive 进行单元测试的开源项目。

  • 快速- 它通过使用 HiveContext 在内存中运行。
  • 独立- 无需安装服务器即可从您的笔记本电脑/dexktop 运行。
  • Maven 集成- 包含在 maven Central 中,可以轻松地作为 maven 依赖项包含在您的项目中。
  • JUnit 集成- 与 JUnit 单元测试框架完全集成

它还解决了从您最喜欢的 IDE 执行独立单元测试的问题。

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

注意:我隶属于 HiveQLUnit OS 项目。

于 2016-03-12T21:53:59.147 回答