最快速创建大量hdfs目录

Posted singsong-ss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最快速创建大量hdfs目录相关的知识,希望对你有一定的参考价值。

需要创建大量hdfs目录的原因:配置canal拿取mysql的binlog日志上传到hdfs目录。每一张表都需要一个hdfs目录,因此需要创建很多。

正常创建目录都是使用

hadoop fs -mkdir -p /aa/bb/01

少数目录可以这么创建,但是目录过多创建就会很慢,因为创建一个目录就需要去请求一次hadoop fs 。

快速创建大量hdfs方法:

在执行hql的地方执行

dfs -mkdir -p /aa/bb/01; 

这是一个hql,只需要连接上就不需要多次请求连接了。比第一种方式快速很多。

把需要的创建的hdfs目录写入一个文件,用beeline -f直接一次创建。

文件test里面的内容是

dfs -mkdir -p /aa/bb/01; 

dfs -mkdir -p /aa/bb/02;

dfs -mkdir -p /aa/bb/03;  

执行命令

beeline -f test

结束。

因为笔者需要创建近万个hdfs目录,如果用第一种方式创建需要几天,如果用第二种方式几小时搞定吧。

以上是关于最快速创建大量hdfs目录的主要内容,如果未能解决你的问题,请参考以下文章

hadoop:hdfs:为什么不适合大量小文件的存储

Hive如何处理大量小文件

HDFS-FAQ

Hadoop之HDFS入门实战

Hadoop之HDFS入门实战

hdfs 将多个文件复制到同一个目标目录