Hadoop HDFS copyMergeFromLocal
在谈到HDFS优化中,其中HDFS擅长处理大文件,而对于小文件常用的优化策略有压缩合并。在此列举小文件合并工具类供参考。
/**
* Get all the files in the directories that match the source file pattern
* and merge and sort them to only one file on HDFS is kept.
*
* Also adds a string between the files (useful for adding \n
* to a text file)
* @param srcf: a file pattern specifying source files
* @param dstf: a destination local file/directory
* @param endline: if an end of line character is added to a text file
* @exception: IOException
*/
public static void copyMergeFromLocal(String srcf, Path dst, boolean endline)throws IOException {Configuration conf = new Configuration();Path srcPath = new Path(srcf);FileSystem dstFs = srcPath.getFileSystem(conf);FileSystem srcFs = FileSystem.getLocal(conf);Path[] srcs = FileUtil.stat2Paths(srcFs.globStatus(srcPath), srcPath);for (Path src : srcs) {FileUtil.copyMerge(srcFs, src,dstFs, dst, false, conf,endline ? "\n" : null);}}
void copyMergeFromLocal(String srcf, Path dst) throws IOException {copyMergeFromLocal(srcf, dst, false);}
在HDFS文件上传时,可以设置过滤条件,使小文件自动合并。
转载于:https://www.cnblogs.com/cunchen/p/9464193.html
Hadoop HDFS copyMergeFromLocal相关推荐
- Hadoop HDFS文件操作的Java代码
1.创建目录 import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.ha ...
- bboss hadoop hdfs大数据抽取工具
bboss大数据抽取工具功能特点如下: 实现db到hadoop hdfs数据导入功能,提供高效的分布式并行处理能力,可以采用数据库分区.按字段分区.分页方式并行批处理抽取db数据到hdfs文件系统中: ...
- org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in receiveBlock for block
Hbase依赖的datanode日志中如果出现如下报错信息:DataXceiverjava.io.EOFException: INFO org.apache.hadoop.hdfs.server.da ...
- JAVA程序连接hadoop HDFS服务报无法连接。
2019独角兽企业重金招聘Python工程师标准>>> 在虚拟机部署hadoop的HDFS系统,在centos系统中敲各种操作命令,对文件读取.上传.删除等都没什么问题.但用JAVA ...
- Linux下Hadoop hdfs Java API使用
0 前言 搞了大约2天时间终于把Linux下面Java API的使用给弄清楚了.做个笔记方便以后参考.环境如下所示 Hadoop:2.5.1 Linux:Ubuntu kylin eclipse:lu ...
- Hadoop HDFS概念学习系列之熟练掌握HDFS的Shell访问(十五)
调用文件系统(FS)Shell命令应使用 $HADOOP_HOME/bin/hadoop fs *** 的形式!!! 所有的FS Shell命令使用URI路径作为参数. URI格式是scheme:/ ...
- BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略
BigData:大数据开发的简介.核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS.HBase.Hive}+Docker).经典场景应用之详细攻略 BigData:大数 ...
- Hadoop HDFS分布式文件系统 常用命令汇总
引言:我们维护hadoop系统的时候,必不可少需要对HDFS分布式文件系统做操作,例如拷贝一个文件/目录,查看HDFS文件系统目录下的内容,删除HDFS文件系统中的内容(文件/目录),还有HDFS管理 ...
- 解决办法:“Cannot lock storage /data/hadoop/hdfs/name. The directory is already locked.”
在启动hadoop的时候,会出现namenode节点启动不起来的情况. 这时用以下命令查看日志: tail -100f /usr/local/hadoop/libexec/../logs/hadoop ...
最新文章
- java无法实例化类型_java – 无法实例化泛型中的类型
- 区块链BaaS云服务(28)TOP Network 之业务链和单向状态通道(Layer-2)
- μC-/OS II(一) PC编译环境的搭建
- 严谨技术支撑vs奔放客户的100个真实写真
- html 文字只设计一段颜色,html – sphinx,reassuredtext:为单个字设置颜色
- zsh配置其显示当前文件路径
- Angular CLI的安装和使用
- C/C++打造经典推箱子小游戏
- php终止符,关于php中嵌入html代码时结束符“?”位置为什么这样放置?
- 信息学奥赛一本通C++语言——1077:统计满足条件的4位数
- 他们守护非洲大象犀牛,马云守护他们
- Web.xml详解(转)
- 在线文本字符串批量替换工具
- g6的minimap中的配置_使用GGEditor开发流程编辑应用
- 使用Foxmail登录阿里企业邮箱(钉钉邮箱)
- 考研作息时间安排表(19通信考研党)
- SCVMM 2012 R2---安装Hyper-V Server 2012 R2主机服务器
- 浅谈最近流行的三起区块链51%算力攻击
- EOS私链发币简要说明
- paper reading——《Improving Person Re-identification by Attribute and Identity Learning》
热门文章
- VTK与Qt整合的示例
- 有SELinux引起的Apache基于端口的虚拟主机启动失败
- ES6中的class是如何实现的?(附Babel编译的ES5代码详解)
- ASP.NET MVC 1.0 转化为ASP.NET MVC 2.0的方法
- MySQL 中的运算符
- ckeditor富文本编辑器的基本配置设置:
- MongoDB学习第一篇 --- Mac下使用HomeBrew安装MongoDB
- appium框架之bootstrap
- 程序员最喜爱的12个Android应用开发框架二(转)
- DELL备份恢复系统的小工具 Dell DataSafe Local Backup