作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用这行代码在 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;
最佳答案
不,您不能使用 java.nio.Files 写入 HDFS。 Java 类不知道 hadoop 集群中的 NameNode 和 DataNode。您需要使用 hadoop 库与 HDFS 通信。
这里我有一个使用 Java 写入 HDFS 的例子:
关于Java 从路径中删除了一个斜杠,后来给我 NoSuchFileException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37944840/
我是一名优秀的程序员,十分优秀!