【问题标题】:Starting a simple standalone hadoop server in unit-test在单元测试中启动一个简单的独立 hadoop 服务器
【发布时间】:2013-10-15 20:25:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: java unit-testing maven hadoop hive


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      看看HiveQLUnit - 一个用于单元测试 Hive 的开源项目。

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

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

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

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

      【讨论】:

      • 感谢您的回答。这对我来说太不相关了。已经2年了,我已经离开了这个工作场所。但是,嘿,也许其他人会从中受益:)
      • 您似乎是该项目的作者之一。您必须披露您与某个项目的关系,否则您的回答将被视为垃圾邮件。
      猜你喜欢
      • 2011-02-25
      • 2011-08-17
      • 2020-11-12
      • 2013-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-22
      • 2020-11-23
      相关资源
      最近更新 更多