2017-02-05 3 views
1


Я пишу модульный тест в приложении Spark 1.6 и должен издеваться над HDFS. Использует MiniDFSCluster https://wiki.apache.org/hadoop/HowToDevelopUnitTests, как описано здесь. Я не вижу никаких примеров в текущем коде Spark 1.6, который использует MiniDFSCluster.HDFS Unit testing in Spark 1.6

+0

пытались ли вы какие-либо из посланных решений? –

ответ

0

Ниже приведен фрагмент, показывающий, как настроить и использовать кластер.

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"