當前位置:首頁 » 編程語言 » hivesql面試題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

hivesql面試題

發布時間: 2022-09-06 14:59:39

㈠ hive查詢語言和sql的不同

Hive是建立在 Hadoop 上的數據倉庫基礎構架。它提供了一系列的工具,可以用來進行數據提取轉化載入(ETL),這是一種可以存儲、查詢和分析存儲在 Hadoop 中的大規模數據的機制。Hive 定義了簡單的類 SQL 查詢語言,稱為 HQL,它允許熟悉 SQL 的用戶查詢數據。同時,這個語言也允許熟悉 MapRece 開發者的開發自定義的 mapper 和 recer 來處理內建的 mapper 和 recer 無法完成的復雜的分析工作。

Hive 採用類SQL 的查詢方式,將SQL 查詢轉換為MapRece 的job 在Hadoop集群上執行

㈡ 下列hive-sql語句,關於空值的處理方法正確的是哪幾個

A 和 D
A是判斷非null的方法
D是空則為9999的處理

㈢ hive sql語言問題,怎麼按一列聚合第二列的多個值合並成1個值,再按這個值group by

--假設表名為tb
selectys,count(*)
from
(
selectx,to_char(wm_concat(y))ys
fromtb
groupbyx
)w
groupbyys
;

㈣ hive sql 優化的常用手段有哪些

1、join連接時的優化:當三個或多個以上的表進行join操作時,如果每個on使用相同的欄位連接時只會產生一個maprece。
2、join連接時的優化:當多個表進行查詢時,從左到右表的大小順序應該是從小到大。原因:hive在對每行記錄操作時會把其他表先緩存起來,直到掃描最後的表進行計算
3、在where字句中增加分區過濾器。
4、當可以使用left semi join 語法時不要使用inner join,前者效率更高。原因:對於左表中指定的一條記錄,一旦在右表中找到立即停止掃描。

㈤ 有一hive sql,怎麼計算這個sql會產生多少個map數

Hive SQL產生的map數和SQL中查詢的表的數據量有關。
您可以網路搜索 lxw的大數據田地,裡面有一起學Hive系列文章,從淺入深的介紹Hive.

㈥ hive中sql運算出現傾斜的情況,主要原因有哪些

1. Mapjoin是一種避免避免數據傾斜的手段

允許在map階段進行join操作,MapJoin把小表全部讀入內存中,在map階段直接拿另外一個表的數據和內存中表數據做匹配,由於在map是進行了join操作,省去了rece運行的效率也會高很多

在《hive:join遇到問題》有具體操作

在對多個表join連接操作時,將小表放在join的左邊,大表放在Jion的右邊,

在執行這樣的join連接時小表中的數據會被緩存到內存當中,這樣可以有效減少發生內存溢出錯誤的幾率

2. 設置參數

hive.map.aggr = true

hive.groupby.skewindata=true 還有其他參數

3.SQL語言調節

比如: group by維度過小時:採用sum() group by的方式來替換count(distinct)完成計算

4.StreamTable

將在recer中進行join操作時的小table放入內存,而大table通過stream方式讀取

㈦ hive sql 數據類型 有什麼特點

思路當我們在終端下執行命令「hive」後,會看到有如下輸出:Hive有會話(Session)的概念,而這次會話中的所有日誌消息將會輸出到這個日誌文件中,包含SQL語句的執行日誌,查看這個日誌文件可以看到以下信息:

㈧ hive sql里,幫我描述一個簡單的sql的原理

select a.id,a.info,b.num from a join b on a.id=b.id and where b.num>=10

兩個表做關聯,首先where會過濾掉不需要的數據。
至於表怎麼做map和rece操作,在hive里的表是虛擬的,其實還是對hdfs文件進行操作,你可以在hdfs:///user/hive/warehouse路徑下找到以表名來命名的文件,裡面就是表的內容,可以執行-cat命令查看。所以,它的map操作很簡單,就是按行讀文件,然後會根據hive的默認分隔符\001對每行進行切分。切分完成後就會按照你SQL指定的邏輯進行合並,最後再輸出成hdfs文件,只不過在hive裡面看它是以表的形式展現的。

job數會在你執行sql語句之後緊接著有相應的日誌記錄,

Total MapRece jobs = 2
Launching Job 1 out of 2
Number of rece tasks not specified. Estimated from input data size: 2
In order to change the average load for a recer (in bytes):
set hive.exec.recers.bytes.per.recer=<number>
In order to limit the maximum number of recers:
set hive.exec.recers.max=<number>
In order to set a constant number of recers:

這樣就是有兩個job,正在執行第一個job。

Hadoop job information for Stage-1: number of mappers: 5; number of recers: 2
而這個就會告訴你有多少個mapper和recer。
像你寫的這個sql有join操作,而且是hiveSQL裡面最普通的join,那麼一定會有recer參與,如果數據量很大,比如上千萬條記錄,join就會特別慢,job進度就會一直卡在rece操作。可以改成mapjoin或者sort merge bucket mapjoin。

其實hive效率不高,不適合實時查詢,即使一個表為空,用hive進行查詢也會很耗時,因為它要把sql語句翻譯成MR任務。雖然簡化了分布式編程,但是效率上就會付出代價。

你的這句sql應該會翻譯成一個JOB來執行,就是簡單地map和rece。

maprece就是按行讀文件,然後切分,合並,輸出成文件。

㈨ 大數據面試要准備哪些

一、大數據面試要准備一些應試須知:
1、讓面試官記住你的名字。很多人在介紹自己名字的時候僅僅只有簡單的一句「我叫某某某」,直到你的自我介紹完畢,面試官也沒有記住你的名字,如果後續的自我介紹中沒有突出的表現,那麼這樣的自我介紹註定是失敗的。
2、告訴面試官和應聘職位相關的工作經歷。在自我介紹自己的工作經歷時,一定要注意哪些經歷是和應聘職位相關,對應聘有幫助,哪些是毫無意義的。例如應聘技術人員的職位,我們主要講從事本職工作的經歷,如果有從事其他行業的經歷,比如從事過銷售,組織,管理工作的,也可以略微提一下,往往會對應聘起到一定的幫助。
3、在面試官面前展現性格陽光的一面。性格也是面試官需要考察的一項,一般來說活潑、外向的性格始終會受到大家的親睞,所以我們在面試官面前一定要展示性格陽光的一面,即使內向,也不能表現出來。
4、簡單的介紹一下自己的未來規劃。未來規劃這一項是為了告訴面試官,我是一個有計劃、有目標、有理想的人,我參加面試是因為我對這份工作比較熱愛,而不是為了混口飯吃而應聘這項工作。很多老闆最怕找到以混日子為目的的員工。
5、注意揚長避短。揚長避短也就是說在面試時盡量選擇自己好的方面來說,只說自己的優點,避免談及自己的缺點。從人性的角度來講,人們總是對負面的新聞感興趣,因此在面試時,面試官會千方百計的發現你的缺點,你的弱項,如果我們主動將缺點暴露給對方,那麼產生的影響往往是負面的。
細節決定成敗,一個簡單的自我介紹雖然只有短短的幾分鍾,但是其內容卻包羅萬象,因此在面試時自我介紹的完美與否是舉足輕重的。
二、大數據面試要准備一些常見的面試題:
1、你會Java語言嗎?熟悉到什麼程度?
2、你最喜歡的編程語言是什麼?為什麼?
3、處理過的最大的數據量?你是如何處理他們的?處理的結果如何。
2、在處理大數據過程中,如何保證得到期望值?
3、如何讓一個網路爬蟲速度更快、抽取更好的信息以及更好總結數據從而得到一干凈的資料庫
4、點擊流數據應該是實時處理?為什麼?哪部分應該實時處理?
6、如何把非結構化的數據轉換成結構化的數據?這是否真的有必要做這樣的轉換?把數據存成平面文本文件是否比存成關系資料庫更好?
7、如何判別maprece過程有好的負載均衡?什麼是負載均衡?
8、Spark和Hive的區別,以及Spark和Hive的數據傾斜調優問題?
9、Hive和Hbase的區別?
10、MapRece的思想,以及MapRece調優問題?
11、你所了解的開源網站?
12、有兩個集群,每個集群有3個節點,使用hive分析相同的數據,sql語句完全一樣,一個集群的分析結果比另外一個慢的多,給出造成這種現象的可能原因?
13、Hbase的優化?

14、集群的版本,以及集群的瓶頸問題?
15、CRM項目,怎麼跟Spark結合?
16、如何創建一個關鍵字分類?
17、海量日誌數據,提取出某日訪問網路次數最多的那個IP?
18、Hadoop和Spark處理數據時,出現內存溢出的處理方法?
19、有一個1G大小的一個文件,裡面每一是一個詞,詞的大小不超過16位元組,內存大小限制大小1M,返回頻率最高的50個詞。
20、你是如何處理缺少數據的?你是推薦使用什麼樣的處理技術,或者說你是用什麼樣的技術處理呢?

㈩ Hive或SQL 建立數組(高級查詢)

延慶南菜園方位在百泉路北面,京新高速南面,康張路東面,京銀路西面