背景:我正在尝试将Hive
查询作为我们测试框架的一部分进行测试。我想创建简短的测试来测试一小部分数据,以便查询快速返回,并能够在每台计算机(甚至是私人笔记本电脑)上运行它们。目标是能够检查代码,使用 maven 构建并运行测试。
问题:有没有办法让我只使用 java 代码启动一个独立的 hadoop(或某种模拟器),而无需下载和安装,可以作为测试的一部分运行?
我的目标是有一个测试,在它的@Before
方法中设置 hadoop 在测试结束时被删除的测试。
背景:我正在尝试将Hive
查询作为我们测试框架的一部分进行测试。我想创建简短的测试来测试一小部分数据,以便查询快速返回,并能够在每台计算机(甚至是私人笔记本电脑)上运行它们。目标是能够检查代码,使用 maven 构建并运行测试。
问题:有没有办法让我只使用 java 代码启动一个独立的 hadoop(或某种模拟器),而无需下载和安装,可以作为测试的一部分运行?
我的目标是有一个测试,在它的@Before
方法中设置 hadoop 在测试结束时被删除的测试。
您看过 MiniCluster api ( http://wiki.apache.org/hadoop/HowToDevelopUnitTests ) 吗?
这是一篇博客文章,其中介绍了如何使用此 API 的一些详细信息:http ://www.lopakalogic.com/articles/hadoop-articles/hadoop-testing-with-minicluster/
它看起来像您可能正在寻找的东西。
看看HiveQLUnit - 一个对 Hive 进行单元测试的开源项目。
它还解决了从您最喜欢的 IDE 执行独立单元测试的问题。
它可以在任何操作系统(包括 Windows、Linux 和 Mac OSX)上从您最喜欢的 IDE 执行单元测试。以下是有关使用 HiveQLUnit -文档的一些指南。
注意:我隶属于 HiveQLUnit OS 项目。