對於一個初學者來說,HDFS、Hive、Hbase常用命令比較多,一時間又難以記住,這裏做一個小小的整理總結
1. Hadoop命令
文件瀏覽,不能遞歸顯示 | hadoop fs –ls /[path] |
遞歸顯示文件 | hadoop fs –lsr /[path] |
統計文件大小(-h 人性化顯示,GB,MB,KB) | hadoop fs –du -h /[path] |
只統計文件夾大小 | hadoop fs –dus -h /[path] |
統計文件和文件夾數量 | hadoop fs –count -h /[path] |
移動 | hadoop fs -mv /[source path] /[dest path] |
複製 | hadoop fs -cp /[source path] /[dest path] |
刪除文件/空白文件夾 | hadoop fs -rm /[path] |
遞歸刪除 | hadoop fs -rmr /[path] |
上傳文件到hdfs文件系統(hdfs路徑末尾不加斜線表示上傳之後重命名) | hadoop fs -put /[linux本地路徑] /[hdfs 路徑] |
從hdfs下載文件
| hadoop fs -get /[hdfs 路徑] /[linux本地路徑] |
上傳多個文件到hdfs系統(複製)
| hadoop fs –copyFromLocal /[linux本地路徑1] /[linux本地路徑2 ]… /[hdfs 路徑] |
從hdfs系統下載到本地linux(複製)
| hadoop fs –copyToLocal /[hdfs 路徑] /[linux本地路徑1] |
上傳多個文件到hdfs系統(剪切)
| hadoop fs –moveFromLocal /[linux本地路徑1] /[linux本地路徑2 ]… /[hdfs 路徑] |
從hdfs系統下載到本地linux(剪切)
| hadoop fs –moveToLocal /[hdfs 路徑] /[linux本地路徑1] |
從hdfs(多個文件)合併到linux本地 | hadoop fs -getmerge /[hdfs path] /[linux path]/文件名 |
查看文件內容 | hadoop fs –cat/-text /[path] |
修改副本數 | hadoop fs –setrep [副本數] /[path] |
創建空白文件 | hadoop fs –touchz /[path] |
顯示文件統計信息 | hadoop fs –stat [format] [/path] |
查看文件頭尾 | hadoop fs –tail [-h/-f] [/文件] |
修改權限/屬組/屬主 | hadoop –chmod/-chgrp /-chown [/path] |
如果提示權限不足,則需要用hdfs用戶進行操作,具體命令如下 sudo -u hdfs hadoop fs -rm /[path]
2. Hive Beeline命令
Beeline連接 | beeline -u "jdbc:hive2://node2:10000/default;principal=hive/[email protected] |
2.1.建表
CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS][db_name.]table_name [(col_namedata_type [COMMENT col_comment],
...
[constraint_specification])]
[COMMENT table_comment]
//上面是類似與普通sql的建表語句,除了temporary和external代表內部表和外部表
[PARTITIONED BY (col_name data_type [COMMENT col_comment],...)]
//partitioned 代表分區的字段,分區字段不在表裏,而是以單獨文件分割表
[CLUSTERED BY (col_name, col_name, ...)
[SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS]
//排序分桶
[SKEWED BY (col_name, col_name, ...) //傾斜表,防止數據集中影響性能
ON ((col_value,col_value, ...), (col_value, col_value, ...), ...)
[STORED AS DIRECTORIES] //存儲格式
[
[ROW FORMATrow_format] //各分隔符
[STORED ASfile_format] //存儲格式
| STORED BY'storage.handler.class.name' [WITH SERDEPROPERTIES (...)]
[LOCATION hdfs_path] //存儲位置
[TBLPROPERTIES(property_name=property_value, ...)] --(Note: Available in Hive 0.6.0 and later)
[ASselect_statement];
2.2.導入數據(Hive不支持行級別的插入)
LOAD DATA LOCALINPATH './examples/files/kv1.txt' OVERWRITE INTOTABLE pokes PARTITION(ds='2008-08-15');
Local表示linux系統文件,沒有local代表hdfs文件路徑
3. Hbase Shell命令
創建表 | create '表名稱', '列名稱1','列名稱2','列名稱N' |
添加記錄 | put '表名稱', '行名稱', '列名稱:', '值' |
查看記錄 | get '表名稱', '行名稱' |
查看錶中的記錄總數 | count '表名稱' |
刪除記錄 | delete '表名' ,'行名稱' , '列名稱' |
刪除一張表 | 先要屏蔽該表,才能對該表進行刪除,第一步 disable '表名稱' 第二步 drop '表名稱' |
查看所有記錄 | scan "表名稱" |
查看某個表某個列中所有數據 | scan "表名稱" , ['列名稱:'] |
更新記錄 | 就是重寫一遍進行覆蓋 |