1 import java.io.FileInputStream;
2 import java.io.IOException;
3 import java.util.Scanner;
4
5 import org.apache.hadoop.conf.Configuration;
6 import org.apache.hadoop.fs.FSDataOutputStream;
7 import org.apache.hadoop.fs.FileSystem;
8 import org.apache.hadoop.fs.Path;
9
10 public class A_UpdatedFile {
11
12
13 public static void appendToFile(FileSystem fs, String localFilePath,
14 String remoteFilePath) {
15 Path remotePath = new Path(remoteFilePath);
16 try {
17 FileInputStream in = new FileInputStream(localFilePath);
18 FSDataOutputStream out = fs.append(remotePath);
19 byte[] data = new byte[1024];
20 int read = -1;
21 while ((read = in.read(data)) > 0) {
22 out.write(data, 0, read);
23 }
24 out.close();
25 } catch (IOException e) {
26 e.printStackTrace();
27 }
28 }
29
30 public static void main(String[] args) {
31 Var_init var = new Var_init();
32 try {
33 boolean fileExists = var.fs.exists(var.p_remoteFilePath);
34 if (fileExists) {
35 System.out.println(var.s_remoteFilePath + " 已存在.");
36 } else {
37 System.out.println(var.s_remoteFilePath + " 不存在.");
38 }
39 if (!fileExists) {
40 var.fs.copyFromLocalFile(false, true, var.p_localFilePath, var.p_remoteFilePath);
41 System.out.println(var.s_localFilePath + " 已上传至 "
42 + var.s_remoteFilePath);
43 } else {
44 Scanner choose = new Scanner(System.in);
45 System.out.println("input c to cover,input a to append");
46 String str = choose.next();
47 if(str.equals("c"))
48 {
49 var.fs.copyFromLocalFile(false, true, var.p_localFilePath, var.p_remoteFilePath);
50 System.out.println("cover successfully");
51 }
52 else if(str.equals("a"))
53 {
54 A_UpdatedFile.appendToFile(var.fs, var.s_localFilePath, var.s_remoteFilePath);
55 System.out.println("append successfully");
56 }
57 else
58 {
59 System.out.println("plz input right common");
60 }
61 }
62 } catch (Exception e) {
63 e.printStackTrace();
64 }
65 }
66 }

向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件的更多相关文章

  1. MVC文件上传08-使用客户端jQuery-File-Upload插件和服务端Backload组件让每个用户有专属文件夹

    当需要为每个用户建立一个专属上传文件夹的时候,可以在提交文件的视图中添加一个隐藏域,并设置name="objectContext". 相关兄弟篇: MVC文件上传01-使用jque ...

  2. Linux下用户管理:创建用户指定密码

    首先我们来了解下Linux下用户管理的概念: 如上图所示,左边的一列表示用户名,中间的一列表示用户组,最右边的一列表示的是家目录.用户名我们这里处于简单就,添加了root,xm,xh三个用户.用户组和 ...

  3. HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo

    26 集群使用初步 HDFS的设计思路 l 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: l 在大数据系统中作用: 为各类分布式 ...

  4. Hadoop HDFS编程 API入门系列之路径过滤上传多个文件到HDFS(二)

    不多说,直接上代码. 代码 package zhouls.bigdata.myWholeHadoop.HDFS.hdfs6; import java.io.IOException;import jav ...

  5. 上传本地文件到HDFS

    源代码: import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hado ...

  6. .net项目中上传大图片失败

    .net项目中有时用户提出要上传大图片,一张图片有可能十几兆,本来用的第三方的上传控件,有限制图片上传大小的设置,以前设置的是2M.按照用户的要求,以为直接将限制图片上传大小的设置改下就可以了,但是当 ...

  7. Hadoop hdfs上传文件 权限问题

    问题描述: hadoop在虚拟机中的linux系统下 在本地通过eclipse编写代码把本地文件上传至hadoop平台的指定目录 代码如下: @Test public void upload() th ...

  8. 【解决】AWS服务控制台中上传文件失败

    使用IE 11,在 AWS Services Console 中不管是 S3 还是 Elastic Beanstalk 的页面中上传页面都会失败,提示信息如下: A problem occurred ...

  9. 上传文件到hdfs注意事项

    我在MapReduceInput下创建CFItemSet文件夹,下面有itemSet.txt. 我想上传到cf下,然后想着hdfs上会显示cf/itemSet.txt. hdfs dfs -put i ...

随机推荐

  1. 自定义 demo 集合

    各种写着玩的自定义控件demo 有时网上看到一些比较有意思的开源项目,有时间的话就会自己也撸一个出来,但是一般只关注实现样式.动画等,不会太去细致完整地完成,俗称占个坑~ 持续更新中... githu ...

  2. java连接mysql数据查询数据

    package com.cn.peitest.connectDatabase; import java.sql.Connection; import java.sql.DriverManager; i ...

  3. List<bean> 转换成List<Map>

    //将listmap转换成list实体类 List<OaAttachment>list=new ArrayList<OaAttachment>(); if(Func.isNot ...

  4. Java连接MySQL数据库——含详细步骤和代码

    工具:eclipse.MySQL.MySQL连接驱动:mysql-connector-java-5.1.45.jar 首先要下载Connector/J地址:http://www.mysql.com/d ...

  5. laravel 数据库之DB类

    // 取回数据表的第一条数据 DB::table('table')->where('key', 'value')->first(); DB::table('table')->firs ...

  6. 【探索之路】机器人篇(1)-ROS-mwRobot开篇

    机器人的定义 首先,什么才是机器人?机器人是不是必须和人一样的外形?我们先看一看维基百科给机器人的定义: 由上可见,机器人并不是和人一样的外形,而是可以模拟人类行为或者思想再或者是模拟其他生物的机械. ...

  7. Mac电脑 Android Studio连接小米手机

    1.设置>关于本机>点击5下MIUI版本>激活开发者模式 2.设置>更多设置>开发者选项>开启开发者选项>开启USB调试>开启USB安装>开启显示 ...

  8. Failed to create Spark client for Spark session

    最近在hive里将mr换成spark引擎后,执行插入和一些复杂的hql会触发下面的异常: org.apache.hive.service.cli.HiveSQLException: Error whi ...

  9. python 虾米停服了...用python爬取虾米最近播放的1000首歌

    1. 虾米关服 在这里插入图片描述 用了5年多的音乐软件就这么说关就关了,确实让人心里不好受 ,虽然再去一个新的app里,让它们的算法熟悉你的喜好也不是很困难,可我还是习惯虾米的界面.虾米现在可以支持 ...

  10. linq to entity不识别方法"System.String ToString()"

    将班级id以字符串形式输入如:"1111,1112,1113".数据库里的id为int型,在数据路里找到匹配的相应班级转换成列表.在这里爆出问题:不识别方法"System ...