我正在尝试从Apache Beam管道中读取HDFS中存储的文件。通话本身看起来是这样的
p.apply(TextIO.read().from("hdfs://localhost:9000/project/file.txt"));
在管道执行期间,我遇到以下错误
java.io.FileNotFoundException: No files matched spec: hdfs://localhost:9000/project/file.txt
我仔细检查了该文件是否确实存在于该地址下。
HADOOP_CONF_DIR已配置并指向etc / hadoop目录。
etc / hadoop / core-site.xml具有以下配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
添加beam-sdks-java-io-hadoop-common,beam-sdks-java-io-hadoop-input-format,beam-sdks-java-io-hadoop-文件系统工件作为对项目的依赖也无济于事。
我正在使用
使用本地文件系统的同一管道可以正常工作。经过大量搜索后,我不知道要再看什么。