最近使用hive做一些etl工作,除了日常sql的編寫,了解hadoop及hive的一些底層原理性質(zhì)的東西包括調(diào)優(yōu)非常有必要,一次hive調(diào)優(yōu)就把原來的零散文件做了合并。首先記下hadoop常用的命令:(hadoop fs -help列出全部)
1,hadoop fs –fs [local | <file system URI>]:聲明hadoop使用的文件系統(tǒng),如果不聲明的話,使用當(dāng)前配置文件配置的,按如下順序查找:hadoop jar里的hadoop-default.xml->HADOOPCONFDIR下的hadoop−default.xml−>HADOOP_CONF_DIR下的hadoop-site.xml。使用local代表將本地文件系統(tǒng)作為hadoop的DFS。如果傳遞uri做參數(shù),那么就是特定的文件系統(tǒng)作為DFS。
2,hadoop fs –ls <path>:等同于本地系統(tǒng)的ls,列出在指定目錄下的文件內(nèi)容,支持pattern匹配。輸出格式如filename(full path) <r n> size.其中n代表replica的個(gè)數(shù),size代表大小(單位bytes)。
3,hadoop fs –lsr <path>:遞歸列出匹配pattern的文件信息,類似ls,只不過遞歸列出所有子目錄信息。
4,hadoop fs –du <path>:列出匹配pattern的指定的文件系統(tǒng)空間總量(單位bytes),等價(jià)于unix下的針對(duì)目錄的du –sb <path>/*和針對(duì)文件的du –b <path> ,輸出格式如name(full path) size(in bytes)。
5,hadoop fs –dus <path>:等價(jià)于-du,輸出格式也相同,只不過等價(jià)于unix的du -sb。
6,hadoop fs –mv <src> <dst>:將制定格式的文件 move到指定的目標(biāo)位置。當(dāng)src為多個(gè)文件時(shí),dst必須是個(gè)目錄。
7,hadoop fs –cp <src> <dst>:拷貝文件到目標(biāo)位置,當(dāng)src為多個(gè)文件時(shí),dst必須是個(gè)目錄。
8,hadoop fs –rm [-skipTrash] <src>:刪除匹配pattern的指定文件,等價(jià)于unix下的rm <src>。
9,hadoop fs –rmr [skipTrash] <src>:遞歸刪掉所有的文件和目錄,等價(jià)于unix下的rm –rf <src>。
10,hadoop fs –rmi [skipTrash] <src>:等價(jià)于unix的rm –rfi <src>。
11,hadoop fs –put <localsrc> … <dst>:從本地系統(tǒng)拷貝文件到DFS。
12,hadoop fs –copyFromLocal <localsrc> … <dst>:等價(jià)于-put。
13,hadoop fs –moveFromLocal <localsrc> … <dst>:等同于-put,只不過源文件在拷貝后被刪除。
14,hadoop fs –get [-ignoreCrc] [-crc] <src> <localdst>:從DFS拷貝文件到本地文件系統(tǒng),文件匹配pattern,若是多個(gè)文件,則dst必須是目錄。
15,hadoop fs –getmerge <src> <localdst>:顧名思義,從DFS拷貝多個(gè)文件、合并排序?yàn)橐粋€(gè)文件到本地文件系統(tǒng)。
16,hadoop fs –cat <src>:展示文件內(nèi)容。
17,hadoop fs –copyToLocal [-ignoreCrc] [-crc] <src> <localdst>:等價(jià)于-get。
18,hadoop fs –mkdir <path>:在指定位置創(chuàng)建目錄。
19,hadoop fs –setrep [-R] [-w] <rep> <path/file>:設(shè)置文件的備份級(jí)別,-R標(biāo)志控制是否遞歸設(shè)置子目錄及文件。
20,hadoop fs –chmod [-R] <MODE[,MODE]…|OCTALMODE> PATH…:修改文件的權(quán)限,-R標(biāo)記遞歸修改。MODE為a+r,g-w,+rwx等,OCTALMODE為755這樣。
21,hadoop fs -chown [-R] [OWNER][:[GROUP]] PATH…:修改文件的所有者和組。-R表示遞歸。
22,hadoop fs -chgrp [-R] GROUP PATH…:等價(jià)于-chown … :GROUP …。
23,hadoop fs –count[-q] <path>:計(jì)數(shù)文件個(gè)數(shù)及所占空間的詳情,輸出表格的列的含義依次為:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,FILE_NAME或者如果加了-q的話,還會(huì)列出QUOTA,REMAINING_QUOTA,SPACE_QUOTA,REMAINING_SPACE_QUOTA。
最后就是萬能的hadoop fs –help [cmd]啦~~