Java 写入hdfs程序代码
2017-03-23 16:16
253 查看
Java 写入hdfs程序代码
在这里直接上代码
在这里我说一下这一段代码:
conf.set("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class.getName());
conf.set("fs.file.impl",org.apache.hadoop.fs.LocalFileSystem.class.getName());
假如不配置上面这段话,在maven 打包或者是gradle 打包运行jar的时候,运行jar会出现
错误异常:
Exception in thread "main" java.io.IOException:NoFileSystemfor scheme: file
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1375)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:66)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1390)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:196)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:95)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:180)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:175)
at org.apache.mahout.classifier.naivebayes.NaiveBayesModel.materialize(NaiveBayesModel.java:100)
可能原因:
conf.getClass需要读取hadoop-common-x.jar下面的core-default.xml,打包之后,找不到系统默认的位置,需要配置上去
参考链接:
http://stackoverflow.com/questions/17265002/hadoop-no-filesystem-for-scheme-file
在这里直接上代码
Configurationconf = new Configuration(); conf.set("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class.getName()); conf.set("fs.file.impl",org.apache.hadoop.fs.LocalFileSystem.class.getName()); conf.setBoolean("dfs.support.append",true); hdfs = FileSystem.get(conf); String hdfs ="hdfs://10.20.30.91:8020/kafka/a.log"; filePath = new Path(hdfs); FSDataOutputStream outputStream = hdfs.create(filePath); outputStream.write(“hello”) outputStream.flush(); outputStream.close(); hdfs.close();
在这里我说一下这一段代码:
conf.set("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class.getName());
conf.set("fs.file.impl",org.apache.hadoop.fs.LocalFileSystem.class.getName());
假如不配置上面这段话,在maven 打包或者是gradle 打包运行jar的时候,运行jar会出现
错误异常:
Exception in thread "main" java.io.IOException:NoFileSystemfor scheme: file
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1375)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:66)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1390)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:196)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:95)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:180)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:175)
at org.apache.mahout.classifier.naivebayes.NaiveBayesModel.materialize(NaiveBayesModel.java:100)
可能原因:
conf.getClass需要读取hadoop-common-x.jar下面的core-default.xml,打包之后,找不到系统默认的位置,需要配置上去
参考链接:
http://stackoverflow.com/questions/17265002/hadoop-no-filesystem-for-scheme-file
相关文章推荐
- 到现在为止,成功调试完成我的第一个Java程序,意味着我也要进行Java这一行了,请看我的代码!
- Java2实用教程(第二版)程序代码——第一章 Java语言入门
- 〔转载〕C Java PHP Perl Python 的程序代码美化工具
- java执行命令或调用其他exe程序的代码范例
- C Java PHP Perl Python 的程序代码美化工具
- 通用 文件保存至数据库,从数据库写入磁盘 程序代码
- 【转贴】C Java PHP Perl Python的程序代码美化工具使用
- java程序代码的优化
- java程序代码 // divideByZero.jva 运算
- Java doc 书写标准 & Java 程序 代码标准
- Java2实用教程(第二版)程序代码——第八章 Java Applet基础
- Java2实用教程(第二版)程序代码——第二十二章 Java 与图像
- Java2实用教程(第二版)程序代码——第二十一章 Java网络的基本知识
- 我刚翻译的一些用Swig将c/c++程序转为java代码的英文文档
- 一个用java代码编写的日期程序
- 如何用 C 注册 windows 服务程序 (分析 Java Service Wrapper 代码)
- Java2实用教程(第二版)程序代码——第十九章 Java多线程机制
- Java2实用教程(第二版)程序代码——第二十五章 Java Swing 基础
- JAVA 实现多文件同时操作 程序代码
- JAVA代码编写程序的基本规范