我的环境使用 Spark、Pig 和 Hive。
我在用 Scala(或与我的环境兼容的任何其他语言)编写可以将文件从本地文件系统复制到 HDFS 的代码时遇到了一些麻烦。
有人对我应该如何进行有任何建议吗?
最佳答案
其他答案对我不起作用,所以我在这里写另一个。
试试下面的 Scala 代码:
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.FileSystem
import org.apache.hadoop.fs.Path
val hadoopConf = new Configuration()
val hdfs = FileSystem.get(hadoopConf)
val srcPath = new Path(srcFilePath)
val destPath = new Path(destFilePath)
hdfs.copyFromLocalFile(srcPath, destPath)
您还应该检查 Spark 是否在 conf/spark-env.sh
文件中设置了 HADOOP_CONF_DIR
变量。这将确保 Spark 将找到 Hadoop 配置设置。
build.sbt
文件的依赖:
libraryDependencies += "org.apache.hadoop" % "hadoop-common" % "2.6.0"
libraryDependencies += "org.apache.commons" % "commons-io" % "1.3.2"
libraryDependencies += "org.apache.hadoop" % "hadoop-hdfs" % "2.6.0"
关于scala - 将文件从本地移动到 HDFS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32095428/