zoukankan      html  css  js  c++  java
  • [b0010] windows 下 eclipse 开发 hdfs程序样例 (二)

    目的:

    学习windows 开发hadoop程序的配置

    相关:

    [b0007] windows 下 eclipse 开发 hdfs程序样例

    环境:

    基于以下环境配置好后。

    [b0008] Windows 7 下 hadoop 2.6.4 eclipse 本地开发调试配置

    1. 新建HDFS下载文件类

    在已有mapreduce项目中新建类添加如下代码,代码从[0007]中取出小修改

    功能:从hdfs下载文件到windows本地

    package hadoop.hdfs;
    
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    import org.apache.commons.compress.utils.IOUtils;
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FSDataInputStream;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    
    /**
     *  功能:      将 hdfs://ssmaster:9000/data/paper.txt下载到Windows下c:paper.txt
     *  调用方式:hadoop jar 打包包名.jar  
     */
    
    public class Hdfs_Download {
    
        public static void main(String[] args) {
            
        Configuration conf =new Configuration();
        
        FileSystem fs = null;
        Path src = null;
        FSDataInputStream in = null;
        FileOutputStream out = null;
          
    //    src = new Path("hdfs://ssmaster:9000/data/paper.txt" );
        
        src = new Path("hdfs://ssmaster:9000/data/paper.txt" );
        
        try {
            
          fs = FileSystem.get(conf) ;
          in = fs.open(src);
    
           } catch (IOException e) {
            e.printStackTrace(); 
        }
        
        try {
            out = new FileOutputStream ("c:\paper.txt");
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        
        try {
            IOUtils.copy(in, out);
        } catch (IOException e) {
            e.printStackTrace();
        }
    
    }
    }
    View Code

    2.复制hadoop配置好的core-site.xml,hdfs-site.xml,mapred-site.xml到src目录下

    如图

    3 运行

     右键类名,运行为 java application,正常会执行成功

    异常

    参考[0009]hadoop异常处理,一般都是配置文件没有

    总结:

    比[0007]打包执行方便一些。

    存在问题:

    如果打包到linux下执行,需要修改路径

    如何在eclipse中,直接跑程序,下载hdfs到linxu本地

  • 相关阅读:
    Python 生成器相关知识
    openpyxl 模块学习记录
    Python 装饰器相关知识
    Python 闭包的相关知识
    Python 内置函数简单介绍
    Git提交的本地仓库在什么位置
    支付宝公钥,私钥加密解密问题
    字符转义
    pyhton 模拟浏览器实现
    大小端模式 大端存储 小端存储
  • 原文地址:https://www.cnblogs.com/sunzebo/p/5995220.html
Copyright © 2011-2022 走看看