Hadoop3-HDFS的java客户端编写
来源:互联网 发布:php empty 0 编辑:程序博客网 时间:2024/06/04 19:56
以下载为例,HDFS的java客户端编写主要分为下面4个步骤
1. 通过抽象类FileSystem的get静态方法获取文件系统hdfs的实例
2. 使用fs的open方法,打开hdfs文件系统的输入流
3. 打开本地输出流
4. 使用IOUtils的copy方法将hdfs的输入流拷贝到本地文件系统的输出流
在开始写之前,需要先引入HDFS的依赖包,包括hdfs和commons,可以通过maven去引入。
需要注意的是,若不做配置,默认拿到的是本地文件系统的实例,可以通过如下两种方法配置
1. conf.set(name,value)
2. 将hadoop的配置文件拷贝到项目的classpath下
具体代码如下;
Confguration conf = new Confguration();FileSystem fs = FileSystem.get(conf);Path src = new Path("hdfs://hostname:9000/filename")FSDataInputStream is = fs.open(src);FileOutputStream os = new FileOutputStream("/path-to-save");IOUtils.copy(is,os);
当然,也可以不用这样写,因为HDFS的API已经封装的很好了,可以直接调用:
fs.copyToLocalFile(src, dst);
如果是在windows下编写的话,可能会遇到权限问题,原因是当前用户无权限操作,可以这样解决:
1. 添加虚拟机运行参数 -DHADOOP_USER_NAME=hadoop
2. 在获取fs实例时,选择重载的get(URI,conf,User)方法
阅读全文
0 0
- Hadoop3-HDFS的java客户端编写
- HDFS的java客户端编写
- HDFS的java客户端编写
- 【Hadoop】HDFS的java客户端编写
- HDFS的JAVA客户端编写(JAVA代码实现对HDFS的操作)
- hdfs的java客户端
- Hadoop—HDFS的Java客户端编程
- Hadoop2.4.1 HDFS的Java客户端开发
- Hdfs的JAVA客户端基本操作
- HDFS java客户端使用
- java编写hdfs程序
- Redis的Java客户端编写
- JAVA AXIS2 WEBSERVICE JAVA客户端的编写
- HDFS JAVA客户端的权限错误:Permission denied
- hadoop3
- hadoop3.0 java.lang.ClassNotFoundException
- 客户端对HDFS的操作
- Hadoop3.0的新特性
- tomcat7 类加载机制
- 图片预加载插件开发小记
- 大整数相乘
- MAC office2016 安装及破解
- Navicat怎么导入导出数据库
- Hadoop3-HDFS的java客户端编写
- 在线支付(易宝支付)
- 阶乘之和
- some
- 使用微擎自带的函数生成二维码
- 解决Targeting ES5 with TypeScript in Visual Studio
- 本地计算机上的XXX服务启动后又停止了——Windows Service服务调试
- UVA-1422(贪心+二分+优先队列)
- js工具-合并对象