用java代码编写本地文件或者数据输出到HDFS中----解答详解

本人实验过,代码跑通才来分享的,欢迎大佬们指导,能做一些代码优化。
本人实验过,代码跑通才来分享的,欢迎大佬们指导,能做一些代码优化。
本人实验过,代码跑通才来分享的,欢迎大佬们指导,能做一些代码优化。

本地文件---->HDFS


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

import java.io.IOException;

public class Input_Hdfs {
      
 static Configuration conf=new Configuration();    
 public static void main(String[] args) throws IOException {
      
      System.out.println("linux");       
      FileSystem fs=FileSystem.get(conf);      
      //本地文件      
      Path src =new Path("D:\\test01");       
     //HDFS为止       
        Path dst =new Path("hdfs://node01:8020/root/");       
        try {
              
         fs.copyFromLocalFile(src, dst);     
         } catch (IOException e) {
         
           // TODO Auto-generated catch block        
           e.printStackTrace();        }   
            System.out.println("上传成功........");
        fs.close();//释放资源

    }}

本地数据---->HDFS


package HDFS_Test;



import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class Input_Data_HDFS {
       
  public static void main(String[] args) {
   

        System.out.println("linux");      
          try{
               //加载配置项           
           Configuration conf = new Configuration();            
           conf.set("fs.defaultFS","hdfs://node01:8020");      		         conf.set("fe.hdfs.impl","org.apache.hadoop.hdfs.DistributedFileSystem");

            //创建文件系统实例            
            FileSystem fs = FileSystem.get(conf);           
             //创建文件实例            
             String filename = "/root/test01/test001";            
             Path file = new Path(filename);           
              //创建输出流对象            
              FSDataOutputStream os = fs.create(file);

            //写入数据           
             byte[] buff = "hello worid".getBytes();
            os.write(buff,0,buff.length);          
             System.out.println("Create"+filename);
            os.close();           
             fs.close();       
             }catch (Exception e){
            
                e.printStackTrace
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值