场景:从本地目录下上传文件到hdfs。

参考代码:

package ct.gd;import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;public class SGPGWHDFS {//hadoop jar /home/hdfs/dx.jar ct.gd.SGPGWHDFS &public static void main(String[] args) throws IOException { SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");String hisDate=format.format(System.currentTimeMillis());Configuration conf = new Configuration();FileSystem fs = FileSystem.get(conf);    List<String> hisfilename=new ArrayList<String>();//保存当前日期下已上传的文件名while(true){//获取当前时间String nowDate=format.format(System.currentTimeMillis());if(hisDate!=nowDate) {//日期变化hisfilename.clear();//清空hisDate=nowDate;}String localpath="/data/4GPGW_Data/SG/"+nowDate.substring(0, 6)+"/"+nowDate;String hdfspath="/pgw/sg/"+nowDate.substring(0, 6)+"/"+nowDate;      try {//从本地目录检索文件File f = new File(localpath);if (!f.exists()) continue;File fa[] = f.listFiles();for (int i = 0; i < fa.length; i++) {File file = fa[i];String filename=file.getName();if(!hisfilename.contains(filename)){//未上传//上传到hdfsString localfile=localpath+"/"+filename;InputStream in = new BufferedInputStream(new FileInputStream(localfile));String hdfsfile = hdfspath+"/" + filename;//hdfs存放文件路劲和名字OutputStream out = fs.create(new Path(hdfsfile),true);//如果已存在,覆盖IOUtils.copyBytes(in, out, 1024*1024,true);//迁移out.flush();if(out!=null) out.close();if(in!=null) in.close();hisfilename.add(filename);//加入已上传列表}}} catch (IOException e) {e.printStackTrace();continue;}}    }
}

MapReduce基础开发之十三FileSystem实现本地文件上传相关推荐

  1. linux下github上传文件,linux下将本地文件上传到github中?

    今天编写一份Python基础代码,经过Linux上传到github上,遇到点问题,已经解决 1.首先sudo su 进入root 用户 2.ls 检查出当前文件下有什么文件 3. cd 进入你将要上传 ...

  2. Python 技术篇-用flask服务实现mac本地文件上传至windows服务器指定文件夹下实例演示

    操作 linux 主机的话用 paramiko 会简单很多,可以看我下面的文章. Python 技术篇-用 paramiko 库实现 winodws 本地文件上传至 linux 服务器实例演示 首先是 ...

  3. Python 技术篇-用paramiko库实现winodws本地文件上传至linux服务器实例演示

    利用 paramiko 库可以实现 linux 服务器的管理. 如果想管理 windows 服务器的话就麻烦一点了,我用 flask 服务实现的,可以看我的这篇文章: Python 技术篇-用 fla ...

  4. 怎么用git将本地代码上传到远程服务器_git之如何把本地文件上传到远程仓库的指定位置...

    2018.11.26添加内容: 对于自己的仓库,我们建议将远程仓库通过clone命令把整个仓库克隆到本地的某一路径下.这样的话我们从本地向远程仓库提交代码时,就可以直接把需要提交的文件拖到我们之前克隆 ...

  5. 本地文件上传至docker容器

    本地文件上传至docker容器 Linux系统下区别对比(~./home与/root) Linux下~./home与/root的区别: 1.在root用户下,~等同于/root 2.在普通用户下,~等 ...

  6. Git本地文件上传到远程仓库

    1 . Git 的工作理论 Git本地有三个工作区域工作目录(Working Directory ).暂存区(Stage/Index).资源库(Repository或Git Directory).如果 ...

  7. Mac OS 使用命令(scp/sftp)将本地文件上传到远程 Linux 服务器主机或者从远程主机下载文件到本地主机

    文章目录 一.使用 scp 命令 (一)将本地的文件上传(上载/复制)到远程主机的指定目录下 (二)将本地主机的目录内容(含目录本身)上传到远程主机指定的目录下 1.将本地主机桌面上的目录 www 及 ...

  8. 七牛云 php 服务器,本地文件上传到七牛云服务器示例(七牛云存储)

    # _*_ coding: utf-8 _*_ #--------------------------------------- # 程序:把本地文件上传到七牛云服务器 # 版本:0.1 # 作者:l ...

  9. linux命令scp将本地文件上传到服务器

    linux命令scp将本地文件上传到服务器 Linux 将本地文件上传Linux服务器, 即ssh 命令上传本地文件 在Linux下一般用scp这个命令来通过ssh传输文件. 命令 scp -P 端口 ...

最新文章

  1. C# Winform程序中DataGridView中使用ContextMenuStrip实现右键菜单
  2. python httplib_如何用Python做个英语翻译小字典
  3. 浏览器显示无法解析服务器的DNS地址,使用搜狗浏览器时突然弹出无法解析服务器的DNS地址该如何处理...
  4. python mysql 2002_python MySQLdb连接mysql失败 2002, Can't connect to loca
  5. (35)VHDL实现JK触发器
  6. 安装LoadRunner 11时弹窗提示Micosoft Visual C++ 2005 SP1 可再发行组件包(X86):'命令行选项语法错误。键入命令 / ? 可获得帮助信息'。
  7. 麒麟系统安装打印机共享_国产操作系统麒麟——文档打印 解决方案
  8. sqlite数据库可视化工具—— DB.Browser安装说明
  9. 远程服务器时Ubuntu报错:qt.qpa.xcb: could not connect to display
  10. 美国区块链与药品供应链管理的应用案例
  11. 微信管理软件哪个比较不错
  12. 如何通便清肠快速见效_如何排毒清肠通便
  13. 改进集束搜索(Refinements to Beam Search)
  14. 安科瑞消防应急照明和疏散指示系统
  15. 中望cad自定义快捷键命令_中望CAD自定义设置.doc
  16. JavaScript 的时间使用
  17. 【STM32F411RE和L610物联网入门学习笔记】
  18. iOS开发实习一周工作和收获记录
  19. MJ系列之手写代码汇总
  20. 华盈IP PBX UC1910统一网关

热门文章

  1. Java高并发编程(一):并发编程的挑战
  2. java httpinvoker漏洞_Java反序列化漏洞学习
  3. 数组 字符串的解构赋值 以及const命令
  4. 【BIEE】报表导出数据只显示500行,如何解决?
  5. 并查集:POJ1182-食物链(并查集比较高端的应用)
  6. Java Vector
  7. 4G最快网速相当于30M宽带
  8. UOJ【UR #12】实验室外的攻防战
  9. P3390矩阵快速幂
  10. Java虚拟机详解02----JVM内存结构