概述
spark只是一个可扩展统一分析数据引擎,并没有对hdfs上具体上文件或目录的属性做处理,有这样需求最好也是调用hadoop filesystem的类来处理;
spark如果说可以处理hdfs文件也就只有读或者创建文件或目录操作而已.
// 目录
val pathStr = "hdfs://nameservice1/user/hive/warehouse/cdp.db/store_user_client_group/store_id=s50"
val path = new Path(pathStr)
var fileSystem: FileSystem = null
try {
fileSystem = org.apache.hadoop.fs.FileSystem.get(spark.sparkContext.hadoopConfiguration)
// list出目录下的文件
val listStatus = fileSystem.listStatus(path)
listStatus.foreach(println)
println("-------------------------")
// 目录
val pathStr2 = "hdfs://nameservice1/user/hive/warehouse/cdp.db/store_user_client_group/store_id=s50/group_id=q1383"
val path2 = new Path(pathStr2)
// 查看目录权限
fileSystem.getFileStatus(path2)
} catch {
case e: Exception => println(e.getMessage)
} finally {
fileSystem.close()
}
最后
以上就是清脆冰淇淋为你收集整理的spark中操作hdfs的全部内容,希望文章能够帮你解决spark中操作hdfs所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复