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