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本地

  • 相关阅读:
    1388:Lake Counting
    1253 Dungeon Master
    Ubuntu18.04下可以完美运行Quake3 Arena
    Windows下python3生成UTF8的CSV文件和sha256sum踩坑记录
    ROM后缀含义
    Ubuntu18.04下的模拟神器RetroArch
    廉价的SUP掌机拆解
    Python3连接MySQL
    Ubuntu18.04的网络管理netplan和防火墙ufw
    Ubuntu18.04命令行连接WiFi
  • 原文地址:https://www.cnblogs.com/sunzebo/p/5995220.html
Copyright © 2011-2022 走看看