【发布时间】:2021-12-28 04:06:15
【问题描述】:
我正在使用 Flink 并在 s3 存储桶上读取/写入 parquet 文件。
我的窗口代码是列出业务文件夹下的所有拼花文件并获取文件列表。
Path file = new Path("C:\\tmp\\business");
List<String> fileList= listFileInDir(file.toString());
当在 unix box 上移动相同的代码时,它对于单个文件(完整路径)工作正常,但是没有读取 s3 文件夹下的所有 parquet 文件列表并且在文件列表中获取 null(尝试了所有 s3、s3a 和 s3n)
Path file = new Path("s3n://java-filink-vkhan/parquet");
List<String> fileList= listFileInDir(file.toString());
方法将路径读取为字符串
public List<String> listFileInDir(String path) {
List<String> results = new ArrayList<String>();
File[] files = new File(path).listFiles();
// If this pathname does not denote a directory, then listFiles() returns null.
if(null != files) {
for (File file : files) {
if (file.isFile()) {
results.add(file.getName());
}
}
}
return results;
}
【问题讨论】: