gpt4 book ai didi

hadoop - 我们如何检查 HDFS 文件夹中是否有可用的 avro 文件?

转载 作者:可可西里 更新时间:2023-11-01 15:25:31 29 4
gpt4 key购买 nike

我在 HDFS 文件夹/user/data/output_files/file_2017-10-18 中有一些 avro 文件

scala> val hdfsLoc ="/user/data/output_files/file_2017-10-18/*.avro"
hdfsLoc: String = /user/data/output_files/file_2017-10-18/*.avro

scala> val conf = new Configuration()

scala> val fs = FileSystem.get(conf)

scala> val result = fs.exists(new Path(hdfsLoc))
result: Boolean = false

以上代码给出的结果为 false 。它说 HDFS 文件夹中没有 avro 文件

如果我给出 avro 文件的全名,那么它返回 true

scala>  val hdfsLoc ="/user/data/output_files/file_2017-10-18/part-r-00000-ed937f14-c7d1-480a-9c79-1cda3db4e6ce.avro"
hdfsLoc: String = /user/data/output_files/file_2017-10-18/part-r-00000-ed937f14-c7d1-480a-9c79-1cda3db4e6ce.avro

scala> val result = fs.exists(new Path(hdfsLoc))
result: Boolean = true

如何确保 HDFS 文件夹中有一个或多个 avro 文件?

最佳答案

似乎文件系统不支持通配符。尽管看起来很糟糕,但解决方法应该如下所示。

 val list = fs.listFiles(new Path("/test/"), true)

var result=false

while(list.hasNext()){
if(list.next().getPath.getName.endsWith(".avro"))
result=true
}

关于hadoop - 我们如何检查 HDFS 文件夹中是否有可用的 avro 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47701391/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com