mkdir遞歸創(chuàng)建目錄 怎么在HDFS文件系統(tǒng)的根目錄下創(chuàng)建遞歸目錄?
怎么在HDFS文件系統(tǒng)的根目錄下創(chuàng)建遞歸目錄?從FS-LS文件列表中,文件夾/user/root/input由root用戶創(chuàng)建。它表明,當(dāng)您將輸入目錄從本地文件系統(tǒng)復(fù)制到HDFS系統(tǒng)時(shí),不使用Hado
怎么在HDFS文件系統(tǒng)的根目錄下創(chuàng)建遞歸目錄?
從FS-LS文件列表中,文件夾/user/root/input由root用戶創(chuàng)建。它表明,當(dāng)您將輸入目錄從本地文件系統(tǒng)復(fù)制到HDFS系統(tǒng)時(shí),不使用Hadoop用戶,而是使用根用戶執(zhí)行的copy命令。您可能忘記切換用戶。您可以刪除當(dāng)前的輸入目錄(使用root用戶運(yùn)行Hadoop delete命令,或者不刪除它也無(wú)所謂),然后再次使用Hadoop用戶將輸入導(dǎo)入HDFS系統(tǒng)進(jìn)行嘗試。
另外,我們需要注意HDFS中文件的目錄結(jié)構(gòu)。您現(xiàn)在使用的是default方法,默認(rèn)情況下會(huì)將/user/${用戶名}在目錄下。
將本地文件導(dǎo)入HDFS時(shí),可以指定要傳輸?shù)降哪夸?,例如?/p>
#創(chuàng)建輸入目錄
sh bin/Hadoop FS-MKDIR/user/Hadoop/input
#myfile.txt文件導(dǎo)入到HDFS輸入目錄
sh bin/Hadoop FS–put/usr/Hadoop/mydata/myfile.txt文件/用戶/hadoop/input
1。在DOS下創(chuàng)建目錄的命令是MD command。命令的格式為MD< new directory name>。2實(shí)例如下:1。單擊“開(kāi)始”,然后單擊“運(yùn)行”;2。輸入CMD并單擊OK;3。在當(dāng)前路徑中創(chuàng)建一個(gè)名為123的目錄,然后輸入md123。
怎么在HDFS文件系統(tǒng)的根目錄下創(chuàng)建遞歸目錄?
1
2
3
如果(is_udir(dirname($path))){//判斷。/1/2/3有一個(gè)文件目錄
return MKDIR($path)//這里執(zhí)行的$path是什么?是整個(gè)目錄嗎?我的理解是。/ 1 / 2 / 3 / 4. 我很困惑,所以請(qǐng)//教我們
}
這里的兩個(gè)$路徑顯然是相同的。你們都知道dirname($path)是。/所以很明顯$path應(yīng)該是。/ 1 / 2 / 3 / 4. 你為什么說(shuō)另一個(gè)。/1/2/3/4/5/6/7以后
這個(gè)遞歸函數(shù)寫(xiě)得不好,而且是多余的?,F(xiàn)在PHP的MKDIR函數(shù)可以構(gòu)建多級(jí)目錄,只要第三個(gè)參數(shù)為真:
1
MKDIR()。/1/2/3/4/5/6/7”,0777,真)