apache-spark - Spark 1.6 中的 HDFS 单元测试

标签 apache-spark


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

最佳答案

下面的代码片段展示了如何设置和使用集群。

    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"

关于apache-spark - Spark 1.6 中的 HDFS 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42047559/

相关文章:

apache-spark - 如何在本地模式下运行 Spark SQL Thrift Server 并使用 JDBC 连接到 Delta

apache-spark - MapR 流和 PySpark

java - 使用 DataFrameReader 从 S3 读取文件

scala - spark csv读取速度很慢,虽然我增加了节点数

apache-spark - 安装适用于Apache Spark 2.4.3(Pyspark)的delta lake软件包

garbage-collection - 如何确保未使用的累加器的垃圾收集?

java - java中的spark流与mongodb

scala - 来自Scala的hdfs连接错误

python - 标记点对象 pyspark 中的错误

apache-spark - 处理看不见的分类字符串 Spark CountVectorizer