Hadoop Shell常用命令

2021-09-02 23:35:57 字數 3957 閱讀 7621

hdfs dfs -ls 路徑  (檢視)

hdfs dfs -get 檔案路徑(獲取路徑下的檔案到本地)

gzip -d 檔名(解壓縮檔案)

cat file1,file2 > 檔名(有多個檔案時合併檔案)

create table test1 like test  (hive複製表結構)

hdfs dfs -cp /user/hive/dragonball/test1.db/test1/* hdfs://nwdservice/user/hive/warehouse/dragonball.db/test1 (複製表資料)

hdfs dfs set localtion 'hdfs://nwdservice/user/hive/warehouse/dragonball.db/test1' (修改表儲存路徑)

hive中將表重新平均分塊

insert overwrite table test1 select * from test1distribute byrand(); --rand():隨機數

create table ods.tmpmem*** with(format='textfile') as select * from aaa;(presto生成檔案型別,不加with是二進位制型別)

df -h 從總體上統計系統各磁碟的占用情況,不能統計具體的資料夾或檔案的大小

du -sh ./* 既可以從總體上統計,又可以統計具體的某個檔案的大小

參考:如何快速找出linux系統中的大檔案?

呼叫檔案系統(fs)shell命令應使用 bin/hadoop fs 的形式。 所有的的fs shell命令使用uri路徑作為引數。uri格式是scheme://authority/path。對hdfs檔案系統,scheme是hdfs,對本地檔案系統,scheme是file。其中scheme和authority引數都是可選的,如果未加指定,就會使用配置中指定的預設scheme。乙個hdfs檔案或目錄比如/parent/child可以表示成hdfs://namenode:namenodeport/parent/child,或者更簡單的/parent/child(假設你配置檔案中的預設值是namenode:namenodeport)。大多數fs shell命令的行為和對應的unix shell命令類似,不同之處會在下面介紹各命令使用詳情時指出。出錯資訊會輸出到stderr,其他資訊輸出到stdout。

使用方法:hadoop fs -cat uri [uri …]

將路徑指定檔案的內容輸出到stdout。

示例:返回值:

成功返回0,失敗返回-1。

copyfromlocal

使用方法:hadoop fs -copyfromlocal uri

除了限定源路徑是乙個本地檔案外,和put命令相似。

使用方法:hadoop fs -copytolocal [-ignorecrc] [-crc] uri

除了限定目標路徑是乙個本地檔案外,和get命令類似。

使用方法:hadoop fs -cp uri [uri …]

將檔案從源路徑複製到目標路徑。這個命令允許有多個源路徑,此時目標路徑必須是乙個目錄。 

示例:返回值:

成功返回0,失敗返回-1。

使用方法:hadoop fs -du uri [uri …]

顯示目錄中所有檔案的大小,或者當只指定乙個檔案時,顯示此檔案的大小。

示例:hadoop fs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://host:port/user/hadoop/dir1 

返回值:

成功返回0,失敗返回-1。 

使用方法:hadoop fs -dus

顯示檔案的大小。

使用方法:hadoop fs -expunge

清空**站。請參考hdfs設計文件以獲取更多關於**站特性的資訊。

使用方法:hadoop fs -get [-ignorecrc] [-crc]

複製檔案到本地檔案系統。可用-ignorecrc選項複製crc校驗失敗的檔案。使用-crc選項複製檔案以及crc資訊。

示例:返回值:

成功返回0,失敗返回-1。

使用方法:hadoop fs -getmerge [addnl]

接受乙個源目錄和乙個目標檔案作為輸入,並且將源目錄中所有的檔案連線成本地目標檔案。addnl是可選的,用於指定在每個檔案結尾新增乙個換行符。

使用方法:hadoop fs -ls

如果是檔案,則按照如下格式返回檔案資訊:

檔名 《副本數》 檔案大小 修改日期 修改時間 許可權 使用者id 組id 

如果是目錄,則返回它直接子檔案的乙個列表,就像在unix中一樣。目錄返回列表的資訊如下:

目錄名 修改日期 修改時間 許可權 使用者id 組id 

示例:hadoop fs -ls /user/hadoop/file1 /user/hadoop/file2 hdfs://host:port/user/hadoop/dir1 /nonexistentfile 

返回值:

成功返回0,失敗返回-1。 

使用方法:hadoop fs -lsr

ls命令的遞迴版本。類似於unix中的ls -r。

使用方法:hadoop fs -mkdir

接受路徑指定的uri作為引數,建立這些目錄。其行為類似於unix的mkdir -p,它會建立路徑中的各級父目錄。

示例:返回值:

成功返回0,失敗返回-1。

使用方法:dfs -movefromlocal

輸出乙個」not implemented「資訊。

使用方法:hadoop fs -mv uri [uri …]

將檔案從源路徑移動到目標路徑。這個命令允許有多個源路徑,此時目標路徑必須是乙個目錄。不允許在不同的檔案系統間移動檔案。 

示例:返回值:

成功返回0,失敗返回-1。

使用方法:hadoop fs -put ...

從本地檔案系統中複製單個或多個源路徑到目標檔案系統。也支援從標準輸入中讀取輸入寫入目標檔案系統。

返回值:

成功返回0,失敗返回-1。

使用方法:hadoop fs -rm uri [uri …]

返回值:

成功返回0,失敗返回-1。

使用方法:hadoop fs -rmr uri [uri …]

delete的遞迴版本。

示例:返回值:

成功返回0,失敗返回-1。

使用方法:hadoop fs -setrep [-r]

改變乙個檔案的副本係數。-r選項用於遞迴改變目錄下所有檔案的副本係數。

示例:返回值:

成功返回0,失敗返回-1。

使用方法:hadoop fs -stat uri [uri …]

返回指定路徑的統計資訊。

示例:返回值:

成功返回0,失敗返回-1。

使用方法:hadoop fs -tail [-f] uri

將檔案尾部1k位元組的內容輸出到stdout。支援-f選項,行為和unix中一致。

示例:返回值:

成功返回0,失敗返回-1。

使用方法:hadoop fs -test -[ezd] uri

選項:-e 檢查檔案是否存在。如果存在則返回0。

-z 檢查檔案是否是0位元組。如果是則返回0。 

-d 如果路徑是個目錄,則返回1,否則返回0。

示例:使用方法:hadoop fs -text

將原始檔輸出為文字格式。允許的格式是zip和textrecordinputstream。

使用方法:hadoop fs -touchz uri [uri …] 

建立乙個0位元組的空檔案。

示例:返回值:

成功返回0,失敗返回-1。

Hadoop shell常用命令

cat 使用方法 hadoop fs cat uri uri 將路徑指定檔案的內容輸出到stdout。示例 hadoop fs cat hdfs host1 port1 file1 hdfs host2 port2 file2 hadoop fs cat file file3 user hadoop...

hadoop shell 常用命令

1 啟動hdfs 格式化檔案系統 僅第一次執行即可,不要重複執行 hdfs hadoop namenode format 啟動hdfs sbin start dfs.sh 驗證是否啟動成功 jpsdatanode secondarynamenode namenode 瀏覽器訪問方式 http had...

docker常用命令 Docker 常用命令筆錄

格式docker run 選項 映象 命令 引數.示例docker run it rm ubuntu 16.04 bash 示例解釋 it 這是兩個引數,乙個是 i,表示互動式操作,乙個是 t表示終端 rm 這個引數是說容器退出後隨之將其刪除 ubuntu 16.04 這是指用ubuntu 16.0...