`
freewxy
  • 浏览: 342721 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HDFS操作之上传--PutToHDFS(从local上传资料到hdfs)

阅读更多


     在local 端创建文件: /home/hadoop/tmp/program_get_input
     程序执行完毕后检查hdfs 有无该文件: /user/hadoop/program_put_input

 

package PutToHDFS;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
/**
 *  在local 端创建文件: /home/hadoop/tmp/program_get_input 
    程序执行完毕后检查hdfs 有无该文件: /user/hadoop/program_put_input 
 * @author hadoop
 *
 */
public class PutToHdfs {
	/**
	 * 将文件从local上传到hdfs
	 * @param src local的来源
	 * @param dst hdfs的目的端
	 * @param conf hadoop配置类
	 * @return
	 */
    static boolean putToHdfs(String src,String dst,Configuration conf){
    	Path dstPath = new Path(dst);
    	try{
    		//获取操作hdfs的FileSystem类
    		FileSystem hdfs = dstPath.getFileSystem(conf);
    		//上传
    		hdfs.copyFromLocalFile(false, new Path(src),new Path(dst));


    	}catch(IOException e){
    		e.printStackTrace();
    		return false;
    	}
    	return true;
    }
	/**
	 *
	 * @param args
	 */
	public static void main(String[] args) {
		Configuration conf =  new Configuration();
		String src = "/home/hadoop/tmp/program_get_input";
		String dst = "/user/hadoop/program_put_input";
		boolean status = putToHdfs(src,dst,conf);
	    System.err.println("Create?:"+status);
	}

}
 

1、将该java代码打包为HelloHadoop.jar

2、将HelloHadoop.jar从workspace复制到/usr/local/hadoop目录下(你自己的hadoop目录下)

3、运行hadoop框架(伪分布式):   $ bin/start-all.sh

4、运行HelloHadoop.jar :     $bin/hadoop jar HelloHadoop.jar

5、查看运行结果:    $  bin/hadoop dfs -ls



 

 

 

  • 大小: 62.8 KB
  • 大小: 64.4 KB
分享到:
评论
1 楼 inuyasha027 2013-02-10  
很实用的代码段,很简洁,拷走了。谢谢。

相关推荐

    Hadoop 3.x(HDFS)----【HDFS 的 API 操作】---- 代码

    Hadoop 3.x(HDFS)----【HDFS 的 API 操作】---- 代码 Hadoop 3.x(HDFS)----【HDFS 的 API 操作】---- 代码 Hadoop 3.x(HDFS)----【HDFS 的 API 操作】---- 代码 Hadoop 3.x(HDFS)----【HDFS 的 API 操作】--...

    hdfs-over-ftp安装包及说明

    【标题】"hdfs-over-ftp安装包及说明"涉及的核心技术是将FTP(File Transfer Protocol)服务与HDFS(Hadoop Distributed File System)相结合,允许用户通过FTP协议访问和操作HDFS上的数据。这个标题暗示了我们将在...

    厦门大学-林子雨-大数据技术基础-第3章 分布式文件系统HDFS-上机练习-熟悉常用的HDFS操作

    "厦门大学-林子雨-大数据技术基础-第3章 分布式文件系统HDFS-上机练习-熟悉常用的HDFS操作" HDFS(Hadoop Distributed File System)是Hadoop生态系统中的核心组件之一,它是基于分布式存储技术的文件系统,旨在...

    hadoop-hdfs-client-2.9.1-API文档-中文版.zip

    赠送jar包:hadoop-hdfs-client-2.9.1.jar 赠送原API文档:hadoop-hdfs-client-2.9.1-javadoc.jar 赠送源代码:hadoop-hdfs-client-2.9.1-sources.jar 包含翻译后的API文档:hadoop-hdfs-client-2.9.1-javadoc-...

    hadoop-hdfs-client-2.9.1-API文档-中英对照版.zip

    赠送jar包:hadoop-hdfs-client-2.9.1.jar; 赠送原API文档:hadoop-hdfs-client-2.9.1-javadoc.jar; 赠送源代码:hadoop-hdfs-client-2.9.1-sources.jar; 赠送Maven依赖信息文件:hadoop-hdfs-client-2.9.1.pom;...

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

    描述 "在hadoop分布式文件系统上实现ftp服务" 暗示了这个压缩包包含了一个解决方案,允许用户使用FTP协议来上传、下载或管理HDFS中的文件。这对于那些习惯于使用FTP或者不熟悉Hadoop API的用户来说,是一个便捷的...

    webhdfs-java-client-master

    综上所述,"webhdfs-java-client-master"是一个全面的WebHDFS Java客户端实现,涵盖了文件操作、安全认证、异步处理、错误处理等多个方面,是开发与Hadoop HDFS交互的Java应用的重要工具。通过深入研究该项目,...

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

    在描述中提到,附件包含了所有必要的jar包,这通常包括`hadoop-common`、`hadoop-hdfs`等核心组件的库文件。确保这些库已添加到项目的类路径中,才能使用HDFS的Java API。 接下来,我们来解析具体的API用法: 1. *...

    【HDFS篇05】HDFS客户端操作 --- IO流操作 1

    本文将详细讲解HDFS客户端进行IO流操作,包括文件上传、下载以及如何处理分块文件。 1. **HDFS文件上传** 在HDFS客户端上传文件时,我们首先需要创建一个`Configuration`对象来配置文件系统参数,然后通过`...

    【HDFS篇04】HDFS客户端操作 --- 文件操作1

    本篇文章主要探讨了HDFS客户端进行文件操作的相关知识点,包括文件上传、下载、删除以及重命名,同时也涉及到了配置参数的优先级规则。 首先,我们要了解的是如何通过客户端设置文件副本数量。在HDFS中,文件的副本...

    hadoop-hdfs-2.7.3-API文档-中英对照版.zip

    赠送jar包:hadoop-hdfs-2.7.3.jar; 赠送原API文档:hadoop-hdfs-2.7.3-javadoc.jar; 赠送源代码:hadoop-hdfs-2.7.3-sources.jar; 赠送Maven依赖信息文件:hadoop-hdfs-2.7.3.pom; 包含翻译后的API文档:hadoop...

    实验二:熟悉常用的HDFS操作

    在Shell命令操作中,学生首先通过`hdfs dfs -put`命令将本地文件上传至HDFS,然后使用`-test -e`检查文件是否存在,最后通过`-appendToFile`命令追加内容或`-copyFromLocal -f`覆盖原有文件。这些命令展示了HDFS的...

    【HDFS篇03】HDFS客户端操作 --- 开发环境准备1

    在`pom.xml`文件中,你需要添加Hadoop相关的依赖,如`hadoop-common`、`hadoop-client`和`hadoop-hdfs`。这样,Maven会自动下载并管理这些库,使得你的项目可以直接使用HDFS客户端API。示例中的pom.xml文件已经包含...

    hadoop-hdfs-2.9.1-API文档-中文版.zip

    赠送jar包:hadoop-hdfs-2.9.1.jar 赠送原API文档:hadoop-hdfs-2.9.1-javadoc.jar 赠送源代码:hadoop-hdfs-2.9.1-sources.jar 包含翻译后的API文档:hadoop-hdfs-2.9.1-javadoc-API文档-中文(简体)版.zip 对应...

    hdfs-fdw-10-2.0.4-1.rhel6.x86-64

    hdfs-fdw-10-2.0.4-1.rhel6.x86-64

    Hadoop 2.X HDFS源码剖析-高清-完整目录-2016年3月

    Hadoop 2.X HDFS源码剖析-高清-完整目录-2016年3月,分享给所有需要的人!

    hdfs-fdw-10-2.0.3-1.rhel6.x86-64

    hdfs-fdw-10-2.0.3-1.rhel6.x86-64

    hadoop-hdfs-2.7.3-API文档-中文版.zip

    赠送jar包:hadoop-hdfs-2.7.3.jar; 赠送原API文档:hadoop-hdfs-2.7.3-javadoc.jar; 赠送源代码:hadoop-hdfs-2.7.3-sources.jar; 赠送Maven依赖信息文件:hadoop-hdfs-2.7.3.pom; 包含翻译后的API文档:hadoop...

    hadoop-hdfs-2.6.5-API文档-中文版.zip

    赠送jar包:hadoop-hdfs-2.6.5.jar; 赠送原API文档:hadoop-hdfs-2.6.5-javadoc.jar; 赠送源代码:hadoop-hdfs-2.6.5-sources.jar; 赠送Maven依赖信息文件:hadoop-hdfs-2.6.5.pom; 包含翻译后的API文档:hadoop...

Global site tag (gtag.js) - Google Analytics