java从路径中删除了斜杠,然后给出nosuchfileexception

sdnqo3pr  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(522)

我正在尝试用hadoop hdfs编写,使用以下代码行:

Files.write(Paths.get("hdfs:////localhost:9000/user/cloudera/trial/"+ "cat.txt","miao miao!".getBytes());

spark应用程序给了我一个例外:

java.nio.file.NoSuchFileException: hdfs:/quickstart.cloudera:9000/user/cloudera/trial/cat2

我解释说,这是一个错误,因为“hdfs:”后面只有一个斜杠。
我记得我已经用java.nio.files方法在hdfs中编写了,所以我排除了这个问题。
我应该怎么做来防止这种例外?
编辑:导入部分

import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
idv4meu8

idv4meu81#

不,您不能使用java.nio.files来写入hdfs。java类don´我不知道hadoop集群中的namenode和datanodes。您需要使用hadoop库与hdfs通信。
这里有一个使用java编写hdfs的示例:
https://github.com/lalosam/hadoopinexamples/blob/master/src/main/java/rojosam/utils/hdfs/createtestsfiles.java

相关问题