`
p_3er
  • 浏览: 55762 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

HDFS API的简单使用(2)

 
阅读更多
package cn.framelife.hadoop;

import java.io.IOException;
import java.io.InputStream;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

/**
 * 使用FileSystem API读取数据
 * @author 潘广伟
 *
 */
public class FileSystemCat {
	public static Configuration getConf(){
		Configuration configuration = new Configuration();
		configuration.addResource(new Path("core-site.xml"));
		configuration.addResource(new Path("hdfs-site.xml"));
		return configuration;
	}

	public static void main(String[] args) {
		InputStream in = null;
		String url = "hdfs://namenode:9000/user/hadoop/hello1.txt";
		try {
			FileSystem fs = FileSystem.get(getConf());
			in = fs.open(new Path(url));
			
			IOUtils.copyBytes(in, System.out, in.available(), false);
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			IOUtils.closeStream(in);
		}
	}

}



package cn.framelife.hadoop;

import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;

import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;

/**
 * 使用Hadoop URL读取数据
 * @author 潘广伟
 *
 */
public class URLCat {
	static{
		URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
	}
	
	public static void main(String[] args) {
		InputStream in = null;
		String url = "hdfs://namenode:9000/user/hadoop/hello1.txt";
		try {
			in = new URL(url).openStream();
			
			byte[] b = new byte[in.available()];
			in.read(b, 0, in.available());
			String msg = new String(b);
			
			System.out.println("接收到的信息:"+msg);
			
			//下面是通过IOUtils工具把输入流中的数据使用系统输出
//			IOUtils.copyBytes(in, System.out, 4096, false);
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			IOUtils.closeStream(in);
		}

	}

}


分享到:
评论

相关推荐

    详细简单的hdfs java的api接口实现

    本篇文章将深入讲解如何使用HDFS Java API进行文件的上传、下载、查看以及集群环境的相关操作。 首先,我们要了解HDFS API的基本概念。HDFS API是Hadoop的核心组件之一,它提供了一组Java类和接口,允许用户在HDFS...

    HDFS FS API

    2. 从HDFS下载文件到本地: 使用`FileSystem`对象的`copyToLocalFile`方法可以将HDFS上的文件下载到本地。这个方法有多个重载版本,可以根据需要选择。以下是一个简单的示例: ```java fs.copyToLocalFile(new ...

    java操作Hadoop源码之HDFS Java API操作-上传文件

    本篇文章将详细探讨如何使用HDFS Java API来实现文件上传的功能。 首先,我们需要引入Hadoop相关的jar包。在描述中提到,附件包含了所有必要的jar包,这通常包括`hadoop-common`、`hadoop-hdfs`等核心组件的库文件...

    实验二、HDFS shell操作及HDFS Java API编程

    适合刚接触hadoop的学生或小白,内容包括HDFS shell操作及HDFS Java API编程 有图片有代码

    大数据技术基础实验报告-调用Java API实现HDFS操作.doc

    【大数据技术基础实验报告-调用Java API实现HDFS操作】 本实验主要涵盖了大数据技术的基础,特别是如何在Linux环境下利用Java API对Hadoop分布式文件系统(HDFS)进行操作。实验涉及的主要步骤包括Eclipse的安装、...

    HDFS-API文件上传、创建、删除、重命名

    在分布式存储领域,Hadoop HDFS(Hadoop Distributed File System)是广泛使用的系统,它提供了高容错性和高吞吐量的数据访问。本教程将详细讲解如何利用HDFS API进行文件的上传、创建、删除以及重命名等基本操作。...

    HDFS Java api 简单程序.zip

    HDFS Java api 简单程序.zip

    HDFS的JAVA接口API操作实例

    在分布式存储领域,Hadoop Distributed...总之,HDFS的JAVA接口API为Java开发者提供了强大的工具,使得在分布式环境中处理大量数据变得简单高效。无论是基本的文件操作还是复杂的集群管理,都可以通过这些API轻松实现。

    星环大数据平台HDFS

    HDFS采用了简单的一致性模型,支持文件的一次写入和多次读取,允许追加写入但不支持文件的随机修改。HDFS特别适合于流式数据访问模式,关注的是数据吞吐量而不是访问延迟,典型应用场景包括存储大型文件(GB~TB级别...

    HDFS架构介绍及JAVA的API使用.pdf

    HDFS Java API的使用简化了对HDFS的操作,使得开发者能够在应用程序中轻松地读取、写入和管理HDFS上的大数据。然而,为了保证高可用性和数据安全性,还需要考虑如HA(High Availability)配置,以防止NameNode单点...

    HDFS存取实例(java)

    本教程将详细讲解如何使用Java API进行HDFS上的文件存取操作,包括文件上传和下载,以及客户端的基本使用。 一、HDFS简介 HDFS是Apache Hadoop项目的核心部分,设计用于处理海量数据,通过在廉价硬件上实现数据的...

    hdfs-over-ftp-hadoop-0.20.0.rar_ftp_ftpoverhdfs_hdfs文件传入ftp_java

    2. **配置文件**:用于设置FTP服务器和HDFS连接的参数,例如服务器端口、认证信息、HDFS集群配置等。 3. **文档**:包括用户指南、开发者手册,可能详细解释了如何安装、配置和使用这个FTP-over-HDFS服务。 4. **...

    hdfs使用方法.rar

    2. **HDFS API**:Java API提供了对HDFS的全面操作,包括文件创建、读写、删除等,常用于开发MapReduce程序。 3. **WebUI监控**:NameNode提供了一个Web界面,用户可以查看HDFS的状态,包括文件系统树、数据块分布...

    上传文件到HDFS

    总之,使用Hadoop的Java API上传文件到HDFS是一个相对简单的过程,主要涉及配置、文件系统的获取、目录检查以及数据的读写操作。理解这些概念和步骤对于任何处理Hadoop相关任务的开发人员都至关重要。

    python 操作 Hadoop hdfs

    2. **读取数据**:使用`client.read()`方法可以读取HDFS上的文件内容。 ```python with client.read('/path/to/file') as reader: content = reader.read() # 处理content ``` 3. **写入数据**:使用`client....

    hdfs.zip_hdfs_hdfs java

    下载HDFS上的文件到本地同样简单,只需使用`FileSystem#copyToLocalFile`方法: ```java import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs....

    Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作

    这个模块提供了一个简单易用的API来执行读写操作。以下是如何使用`pyhdfs`进行文件操作的示例: 1. **文件读取**: - 首先,需要导入`HdfsClient`,指定HDFS的地址和端口,例如:`client = HdfsClient(hosts='ghym...

Global site tag (gtag.js) - Google Analytics