乙份Hive面試題及答案

2021-09-27 04:22:16 字數 3119 閱讀 2793

1 某檔案的許可權為:d-rw-r–r-,用數值形式表示該許可權,則該八進位制數為:(),該檔案屬性是:()。0644 目錄

2 結束後台程序的命令是:()。kill -9 程序號

3 為指令碼程式指定執行許可權的命令及引數是:()。chmod +x 指令碼

4 linux檔案許可權一共10位長度,分成四段,第三段表示的內容是()。c

a 檔案型別 b 檔案所有者的許可權

c 檔案所有者所在組的許可權 d其他使用者的許可權

5 linux有三個檢視檔案的命令,若希望在檢視檔案內容過程中可以用游標上下移動來檢視檔案內容,應使用()命令。c

a cat b more c less d menu

6 刪除檔案命令為()。d

a mkdir b rmdir c mv d rm

7 建立乙個新檔案可以使用的命令為()。d

a chmod b more c cp d touch

8 ()命令是在vi編輯器中執行存檔退出。b

a :q b zz c :q! d :wq

1 hive內部表和外部表的區別

建立表使用location指定資料所在的位置時,hive所在的database目錄下不會建立相應的目錄。當刪除內部表時,會同時刪除對應的目錄及目錄中的資料。刪除外部表時,不會刪除對應的目錄及目錄中的資料。

使用場景:當處理中間資料時,可以使用內部表,把錶刪除的同時也把中間的資料刪除掉。當處理原始資料時,應該使用外部表,把錶刪除的時候,不會刪除對應的目錄及資料。

2 請說明hive中sort by, order by, cluster by, distribute by 各代表什麼意思

sort by:區域性排序,在會reduce之前為每個reducer生成乙個排序檔案。

order by:會對全部資料進行全域性排序。

distribute by:控制map結果的分發,將具有相同欄位的map分發到乙個reduce節點上做處理。

cluster by:通常distribute by和sort by一起使用。cluster by是distribute by和sort by的結合體。

3 需求分析題目欄位名

字段型別

中文名稱

備註uid

string

使用者id

string

visit_cnt

bigint

使用次數

visit_day

string

訪問天分割槽字段

資料hdfs存放路徑:/data/test.db/

資料準備要求:

1 建立分割槽表(按天分割槽)

partitioned by (visit_day string)

row format delimited fields terminated by '|'

;2 一周的資料載入到表中

'20180507');

'20180508');

'20180509');

'20180510');

'20180511');

'20180512');

'20180513');

需求描述(按天出如下需求的統計資料):

1 統計使用者數;

select count
count

count

(uid) as uid_count from (select uid,

count

count

(uid)

,sum

;5 將需求1-4封裝成指令碼,日期當做引數,並在伺服器上設定成定時任務(0點執行)。(只要寫出核心**即可)

myshell.sh

#!

/bin/bash

hive的絕對路徑 -e " \

insert overwrite local directory '本地目錄1' \

row format delimited fields terminated by '#' \

hive的絕對路徑 -e " \

insert overwrite local directory '本地目錄2' \

row format delimited fields terminated by '#' \

hive的絕對路徑 -e " \

insert overwrite local directory '本地目錄3' \

row format delimited fields terminated by '#' \

hive的絕對路徑 -e " \

insert overwrite local directory '本地目錄4' \

row format delimited fields terminated by '#' \

visit_cnt_sum desc limit 100;"

使用crontab執行定時任務使用crontab -e進入任務的編輯

00*

** shell指令碼目錄 20180507

(日期引數)

ps:這裡涉及到幾個知識點linux的基礎知識要熟練掌握;

hive的外部表、內部表、臨時表等的區別;

hive建立**及匯入、匯出資料;

hql各種查詢語句的使用;

shell指令碼的編寫;

crontab定時任務的使用;

如果有任何問題,或者有什麼想法,隨時聯絡我,大家一起交流,共同進步。

我的郵箱 [email protected]

乙份C 面試題(個別有答案)

單選 1.win32下的執行緒的哪乙個優先順序最高?a.thread priority highest b.thread priority idle c.thread priority time critical d.thread priority above normal 2.下面四個選項中,哪乙...

乙份C 面試題(個別有答案)

單選 1.win32下的執行緒的哪乙個優先順序最高?a.thread priority highest b.thread priority idle c.thread priority time critical d.thread priority above normal 2.下面四個選項中,哪乙...

乙份不錯的php面試題 附答案 (筆試題)

一 基礎題 1.寫出如下程式的輸出結果 str1 null str2 false echo str1 str2 相等 不相等 str3 str4 0 echo str3 str4 相等 不相等 str5 0 str6 0 echo str5 str6 相等 不相等 2.寫出如下程式的輸出結果 a1 ...