如何编写可用于运行/连接到Hadoop集群的Spark-scala测试?

时间:2018-07-06 03:39:42

标签: scala apache-spark scalatest

我正在为Spark / scala流程创建Tests,以编写单元测试用例(如Junits)。我有一个ETL进程,该进程连接到hadoop集群上存在的Hbase表,然后将数据写入另一个hbase表中。在此过程中,挑战在于程序需要连接到集群而不是从本地运行。您能否建议一种解决方案或方法来处理这种情况,以便能够通过与群集上的hbase连接来运行测试?

import com.mymmodels.myDocument

import scala.io.Source
import org.scalatest.{BeforeAndAfterAll, BeforeAndAfterEach, FunSuite}

class myServiceTest extends FunSuite{

  test("Test sample method") {
    //assert(true === myxmlservice.IsDataAvailableInMyDataJson)
    val rawXml = Source.fromURL(getClass.getResource("/my_raw.xml")).mkString
    val imyDocument:myDocument = mymxmlparser.parsemyGoldenXml(rawDataXml)
    assert("1" === myDocument.entity_id)
    assert("N" === myDocument.isDeleted)
  }
}

1 个答案:

答案 0 :(得分:1)

您可以使用dockerized方法,即对管道中的每个组件使用docker映像,并使用docker-compose对其进行编排以进行测试运行。大多数与Hadoop相关的产品都有docker映像。