我正在使用
org.apache.hadoop.fs
来检查HDFS中的目录是否为空。我查找了 FileSystem api,但找不到任何接近它的东西。基本上我想检查目录是否为空或者其中存在多少文件。
我能够找到“exists”方法,但这只能说明路径是否存在。
val hdfs = FileSystem.get(spark.sparkContext.hadoopConfiguration)
val containsFile = fs.exists(new Path(dataPath))
您可以获取 ContentSummary 并检查文件或目录的数量
ContentSummary cs = fileSystem.getContentSummary("path");
long fileCount = cs.getFileCount();
我会申请:
FileSystem.get(sc.hadoopConfiguration()).listFiles(..., true)
询问返回的对象中是否存在具有 hasNext() 方法的元素 RemoteIterator。
复制粘贴解决方案
FileSystem.get(sc.hadoopConfiguration()).listFiles(path, true).hasNext()
true
不为空,false
为空