在Scala中本地读取HDFS中的文本文件可以通过使用Hadoop的HDFS API来实现,而不依赖于Spark。下面是一个示例代码:
import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.{FileSystem, Path}
object HDFSFileReader {
def main(args: Array[String]): Unit = {
val conf = new Configuration()
val hdfs = FileSystem.get(conf)
val filePath = new Path("hdfs://<HDFS地址>/<文件路径>")
val inputStream = hdfs.open(filePath)
try {
val content = scala.io.Source.fromInputStream(inputStream).mkString
println(content)
} finally {
inputStream.close()
hdfs.close()
}
}
}
在上面的代码中,首先创建一个Configuration
对象,并获取Hadoop的FileSystem
实例。然后,通过指定HDFS中文件的路径创建一个Path
对象。接下来,使用FileSystem
的open
方法打开文件的输入流。最后,通过scala.io.Source
读取输入流中的内容,并将其打印出来。
需要注意的是,你需要将<HDFS地址>
替换为实际的HDFS地址,<文件路径>
替换为要读取的文件在HDFS中的路径。
这是一个简单的示例,你可以根据实际需求进行扩展和优化。关于Hadoop的HDFS API的更多信息,你可以参考腾讯云的Hadoop HDFS API文档。
领取专属 10元无门槛券
手把手带您无忧上云