Java API 读取HDFS的单文件

HDFS上的单文件:

-bash-3.2$ hadoop fs -ls /user/pms/ouyangyewei/data/input/combineorder/repeat_rec_category
Found 1 items
-rw-r--r--   2 deploy supergroup        520 2014-08-14 17:03 /user/pms/ouyangyewei/data/input/combineorder/repeat_rec_category/repeatRecCategory.txt

文件内容:

-bash-3.2$ hadoop fs -cat /user/pms/ouyangyewei/data/input/combineorder/repeat_rec_category/repeatRecCategory.txt | more
8104
960985
5472
971917
5320
971895
971902
971922
958261
972047
972050

Java API使用FileSystem方式 读取HDFS单文件的方法

/**
 * 获取可重复推荐的类目,以英文逗号分隔
 * @param filePath
 * @param conf
 * @return
 */
public String getRepeatRecCategoryStr(String filePath) {
	final String DELIMITER = "\t";
	final String INNER_DELIMITER = ",";

	String categoryFilterStrs = new String();
	BufferedReader br = null;
	try {
		FileSystem fs = FileSystem.get(new Configuration());
		FSDataInputStream inputStream = fs.open(new Path(filePath));
		br = new BufferedReader(new InputStreamReader(inputStream));

		String line = null;
		while (null != (line = br.readLine())) {
			String[] strs = line.split(DELIMITER);
			categoryFilterStrs += (strs[0] + INNER_DELIMITER);
		}
	} catch (IOException e) {
		e.printStackTrace();
	} finally {
		if (null != br) {
			try {
				br.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

	return categoryFilterStrs;
}

Java API 读取HDFS的单文件

时间: 2024-10-13 20:43:30

Java API 读取HDFS的单文件的相关文章

Java API 读取HDFS目录下的所有文件

/** * 获取1号店生鲜食品的分类id字符串 * @param filePath * @return */ public String getYHDSXCategoryIdStr(String filePath) { final String DELIMITER = new String(new byte[]{1}); final String INNER_DELIMITER = ","; // 遍历目录下的所有文件 BufferedReader br = null; try { F

用java api读取HDFS文件

import java.io.IOException; import java.io.InputStream; import java.security.PrivilegedExceptionAction; import java.text.SimpleDateFormat; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import org.apache.had

hadoop的API对HDFS上的文件访问

这篇文章主要介绍了使用hadoop的API对HDFS上的文件访问,其中包括上传文件到HDFS上.从HDFS上下载文件和删除HDFS上的文件,需要的朋友可以参考下hdfs文件操作操作示例,包括上传文件到HDFS上.从HDFS上下载文件和删除HDFS上的文件,大家参考使用吧 复制代码 代码如下:import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.*; import java.io.File;import ja

Java API操作HDFS

HDFS是存储数据的分布式文件系统,对HDFS的操作,就是对文件系统的操作,除了用HDFS的shell命令对文件系统进行操作,我们也可以利用Java API对文件系统进行操作,比如文件的创建.删除.修改权限等等,还有文件夹的创建.删除.重命名等等. 使用Java API对文件系统进行操作主要涉及以下几个类: 1.Configuration类:该类的对象封装了客户端或者服务端的配置. 2.FileSystem类:该类的对象是一个文件系统对象,可以利用该对象的一些方法来对文件进行操作,FileSys

Hadoop读书笔记(三)Java API操作HDFS

Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 Hadoop读书笔记(二)HDFS的shell操作:http://blog.csdn.net/caicongyang/article/details/41253927 JAVA URL 操作HDFS OperateByURL.java package hdfs; import java.io.InputStream; import jav

使用Java API操作hdfs

如题 我就是一个标题党  就是使用JavaApi操作HDFS,使用的是MAVEN,操作的环境是Linux 首先要配置好Maven环境,我使用的是已经有的仓库,如果你下载的jar包 速度慢,可以改变Maven 下载jar包的镜像站改为 阿里云. 贴一下  pom.xml 使用到的jar包 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifa

通过 EWS JAVA API读取exchange邮件

第一步,下载EWS JAVA API包 从如下路径下载EWS API包:http://code.msdn.microsoft.com/Exchange-EWS-Java-API-12-1a5a1143 第二步,下载依赖包 下载如下依赖包: - Apache Commons HttpClient 3.1 (commons-httpclient-3.1.jar) - Apache Commons Codec 1.4 (commons-codec-1.4.jar) - Apache Commons L

使用java API操作hdfs--拷贝部分文件到hdfs

要求如下: 自行在本地文件系统生成一个大约一百多字节的文本文件,写一段程序(可以利用Java API或C API),读入这个文件,并将其第101-120字节的内容写入HDFS成为一个新文件. import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; public class ShengChen { public static void

使用HDFS客户端java api读取hadoop集群上的信息

本文介绍使用hdfs java api的配置方法. 1.先解决依赖,pom <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.7.2</version> <scope>provided</scope> </dependency> 2.配置文