TOP

hadoop及hive常用命令查詢
2018-11-29 01:42:45 】 瀏覽:849
Tags:

版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/hzhj2007/article/details/81740810

hadoop操作命令

基本命令格式:

hadoop fs -cmd < args >

  • 創建目錄
hadoop fs -mkdir -p < hdfs path>

  • 刪除文件
hadoop fs -rm < hdfs file >
  • 刪除目錄
hadoop fs -rm -r < hdfs dir>	#刪除目錄
hadoop fs -rm -r < hdfs dir>/* #刪除目錄中的內容

  • 修改路徑
hadoop fs -mv < hdfs file or dir >... < hdfs dir >
hadoop fs -cp < hdfs file > < hdfs file >

  • 查看目錄文件
hadoop fs -ls -R /
  • 查詢文件數目
hadoop fs -count < hdfs path >
  • 查詢文件大小

hadoop fs -du - h < hdsf path>
  • 路徑的狀態信息
hdoop fs -stat [format] < hdfs path > [format]可選參數有:%b(文件大小),%o(Block大小)优乐棋牌app下载,%n(文件名)优乐棋牌app下载,%r(副本個數),%y(最后一次修改日期和時間)

其他

  • 上傳本地文件至hdfs中
hadoop fs -put < local file or dir >...< hdfs dir >	hdfs dir 一定要存在,否則命令不會執行
  • 下載hdfs文件至本地
hadoop fs -get < hdfs file > < local file or dir> local file不能和 hdfs file名字不能相同,否則會提示文件已存在

hive操作命令

執行環境

hive環境中所有命令續以分號“;”結尾。

hive	終端輸入該命令即可進入hive環境
hive>quit;	退出hive環境

  • 創建表

CREATE EXTERNAL TABLE ${table_name}	#創建一個指定名字的表。若該表存在优乐棋牌app下载,則拋出異常;EXTERNAL,外部表,須指定LOCATION
(
cookie string comment '用戶COOKIE',	#字段信息:key, key類型, 注釋
price int comment '用戶對應車型價格',
source int comment '來源'
)
PARTITIONED BY(dt STRING, type STRING)	#兩個分區,每一個分區單獨存在一個目錄下
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n'	#'\t'為分割符,'\n'為換行符
STORED AS TEXTFILE	#存儲格式:TEXTFILE(默認), RCFILE(行列存儲),INPUTFORMAT(自定義)
LOCATION '${HDFS_DIR}/${hive_db}/${table_level}/${table_name}';	#指定位置
ALTER TABLE ${table_name} SET SERDEPROPERTIES('serialization.null.format'='');	#修改表中默認的NULL為''
  • 復制表,不復制數據

CREATE TABLE ${new_table_name} LIKE ${old_table_name};
  • 增加分區
alter table ${table_name} add partition(dt='2017-11-01') location '${HDFS_DIR}/${hive_db}/${table_level}/${table_name}/part20171101';

  • 刪除表

drop table if exists ${table_name};
  • 刪除分區
alter table ${table_name} drop partition(dt ='2017-11-01', type='test');

  • 更改分區表的位置

  • 修改表的名字
alter table ${old_name} rename to ${new_name};

  • 查詢hive庫
show databases;	查看所有hive庫列表
desc database ${db_name};	查看hive庫信息
  • 查詢表字段
show tables;	查看表列表
desc ${table_name};	查看某表信息
  • 查看表的分區

show partitions ${table_name};	#

其他

  • 上傳本地文件至hive表

load data local inpath '/data/home/huangzhongjie/car_list.txt' overwrite into table car_list partition(dt='2017-11-01',type='train');	#overwrite:重寫,會覆蓋之前所有數據

參考文獻:

請關注公眾號獲取更多資料



】【打印繁體】【】【】 【】【】【】 【關閉】 【返回頂部
上一篇Hadoop底層機制 下一篇深入淺出Hadoop: 高效處理大數據