Spark 1.6中的HDFS单元测试

时间:2017-02-05 01:17:44

标签: apache-spark


   我在Spark 1.6应用程序中编写单元测试,并且必须模拟HDFS。正在使用此处所述的MiniDFSCluster https://wiki.apache.org/hadoop/HowToDevelopUnitTests。我没有在当前使用MiniDFSCluster的Spark 1.6代码中看到任何示例。

1 个答案:

答案 0 :(得分:2)

以下是显示如何设置和使用群集的代码段。

    val conf = new HdfsConfiguration()
    val testDataCluster = new File("/var/path", "root")
    conf.set(MiniDFSCluster.HDFS_MINIDFS_BASEDIR, testDataCluster.getAbsolutePath)
    conf.setInt("dfs.blocksize", 512)
    conf.setInt("dfs.namenode.fs-limits.min-block-size", 512)
    val dfs =  new MiniDFSCluster.Builder(conf).build()
    dfs.waitActive()
    val fileSystem: org.apache.hadoop.fs.FileSystem = dfs.getFileSystem
    fileSystem.copyFromLocalFile(false, new Path(sourceDir),
      new Path(hdfsDir))

您可能需要的一些依赖项(以下是sbt模块定义格式)

  "org.apache.hadoop" % "hadoop-client" % "2.7.2" % "provided",
  "org.apache.hadoop" % "hadoop-hdfs" % "2.7.2" % "test",
  "org.apache.hadoop" % "hadoop-common" % "2.7.2" % "test",
  "org.apache.hadoop" % "hadoop-hdfs" % "2.7.2" % "test" classifier "tests",
  "org.apache.hadoop" % "hadoop-common" % "2.7.2" % "test" classifier "tests"