博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用程序对hdfs进行操作。
阅读量:7137 次
发布时间:2019-06-28

本文共 1736 字,大约阅读时间需要 5 分钟。

调试加安装了半天,怎么也没有配置好怎么通过Eclipse直接连接hdfs,最后我还是打成一个jar包放到Linux虚拟机中运行的。

运行命令Java -jar  XXX.jar.

当中对hdfs的操作比較简单,主要就FileSystem这一个类,这个东西搞懂了,你对通过程序进行对hdfs的操作自然而然的也就很熟练了。

以下我简单的举一个简单的从hdfs上读取文件内容的样例。大家分享一下。

package com.pzoom.hdfs;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.URI;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;import org.apache.hadoop.fs.FileStatus;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IOUtils;import org.apache.hadoop.util.Progressable;public class PutFileToHdfs { 	/**	 * 从HDFS上读取文件	 */	private static void readFromHdfs() throws FileNotFoundException,			IOException {		String dst = "hdfs://ubuntu:9000/";		Configuration conf = new Configuration();		FileSystem fs = FileSystem.get(URI.create(dst), conf);		String path = "/README.txt";		FSDataInputStream hdfsInStream = fs.open(new Path(path));		IOUtils.copyBytes(hdfsInStream, System.out, conf, true);/*		OutputStream out = new FileOutputStream("/home/chenlongquan/output");		byte[] ioBuffer = new byte[1024];		int readLen = hdfsInStream.read(ioBuffer);		while (-1 != readLen) {			out.write(ioBuffer, 0, readLen);			readLen = hdfsInStream.read(ioBuffer);		}		out.close();		hdfsInStream.close();		fs.close();*/	} 	 	/**	 * main函数	 * 	 * @param args	 * @throws Exception	 */	public static void main(String[] args) throws Exception {		try {			//uploadToHdfs();			readFromHdfs();			 		} catch (Exception e) {			// TODO Auto-generated catch block			e.printStackTrace();		} finally {			 		}	}}

转载地址:http://zrprl.baihongyu.com/

你可能感兴趣的文章
利用c:forEach标签遍历数组
查看>>
Java集合List随堂
查看>>
HDU_1542_线段树【扫描线】
查看>>
[转]Oracle数据库ASH和AWR的简单介绍
查看>>
客户单操作Cookie
查看>>
Swift -- enum 继承 protocol
查看>>
Java基础 - 流程控制语句
查看>>
JDK1.8 hashMap源码分析
查看>>
动态库的创建和调用
查看>>
Windows/Linux 平台快速的创建一个指定大小的文件
查看>>
csdn上传gif图不能添加水印
查看>>
淘宝退货业务 活动图
查看>>
USB鼠标键盘数据格式以及按键键值(转载)
查看>>
第十二周作业
查看>>
深入理解RunLoop
查看>>
iframe高度处理
查看>>
对Largest函数的测试
查看>>
laravel 自定义全局函数
查看>>
How to ssh
查看>>
NOIP 2002 字串变换
查看>>