大資料知識階段總結(一)

2021-10-06 23:01:17 字數 3591 閱讀 4427

一、rdd常用運算元再次實驗

1、準備20-30秒的自我介紹,有特色些的

2、畫出你們的大資料架構,針對架構提問,如何做到精準一次、小檔案規避?

3、畫出yarn的工作流程?

4、你們使用的spark執行模式?

5、yarn的排程有哪幾種?你們用的是哪幾種?如果申請的資源,在yarn的佇列裡資源不夠,怎麼處理?

6、spark用的版本?spark記憶體管理,畫出來,給乙個案例,executor要申請300記憶體的過程?

假設你們公司使用的是cdh集群:建議spark使用社群版本,在排程機上部署我們需要的spark版本,impala才是cloudera公司的親兒子;在cm中沒有安裝spark,外掛程式了乙個spark,spark on yarn我們需要監控什麼,監控yarn的8088埠上看;

7、hdfs高可用採用哪種方式?nn落盤的兩個檔案叫什麼?主備nn實現高可用的流程?

8、hdfs nn的記憶體管理:

9、現場看乙個生產上的案例:hdfs block丟失,怎麼辦?

10、檢視hdfs上乙個目錄下的檔案數和空間大小的命令?

11、scala中left和right join的區別?

12、說說你對hadoop的認識?

13、hadoop1.x和hadoop2.x的區別?

在1中,都是單點的,一出問題,整個集群全掛了;

14、hadoop生產上用什麼格式檔案和壓縮?壓縮?

15、reducebykey和groupbykey的區別?

16、寬依賴和窄依賴?

17、如何保證yarn的高可用,yarn在掛掉後,未執行的作業應該怎麼處理?

18、小檔案合併的方案?

19、說幾個spark專案開發中遇到的問題,和解決的方案?

20、每天的資料量多少?生產集群規模有多大?

21、闡述一下最近開發的專案,以及擔任的角色位置?

22、資料傾斜的場景和解決方案?

23、hive執行哪些操作會觸發mr?哪些操作不會觸發mr?

24、如何處理資料傾斜?

25、rdd的五大特性?

26、scala的隱式轉換和使用?

27、jvm執行時的資料區域?

28、mr的計算流程?詳細到什麼程度,inputsplit怎麼拆檔案,拆檔案的時候有沒有分片?

29、hive和關係型資料的關係,作對比?

30、hadoop有哪些優化,調優點?

31、闡述對hive分割槽、分桶的理解?

32、比如1條記錄10個位元組x天數x副本數 = ***;***乘以業務線=…;n臺機器

33、hive和hdfs檔案之間的聯絡?

34、hive的實現原理?

35、spark和mapreduce的區別?

36、spark對於oom從什麼角度下手調整?

從jvm的底層去說

37、有10個檔案,每個檔案1g,每個檔案的每一行存放的都是使用者的query,每個檔案的query都可能重複。要求你按照query的頻度排序

38、有乙個1g大小的乙個檔案,裡面每一行是乙個詞,詞的大小不超過16位元組,記憶體限制大小是1m。返回頻數最高的100個詞

39、程式設計題b:

1.年/月/日/***.jpg , 資料夾以 這個形式組織。

2.新建資料夾,將所有jpg檔案拷貝到該資料夾,更名為 年_月_日_***.jpg。

3.監控資料夾,如果有增加的jpg檔案,自動同步到新資料夾。

4.jpg檔案只增加不刪除。

40、除了spark之外的大資料處理框架?

flink

41、stringbuilder和stringbuffer的區別?hashmap和hashtable

執行緒安全和執行緒不安全

42、二叉樹的資料結構是什麼樣的?

43、你了解hive的元資料管理?hive有哪些原理性的了解?ast和operator tree的了解?

44、你覺得join該怎麼優化?

45、hive的資料傾斜,hive能加索引麼?可以但是沒必要

46、spark-core中的flatmap?

47、小檔案的合併?

48、最近乙個專案的架構,你所負責的模組

原理性的東西:sql語句是如何轉換成mapreduce執行的?

mapreduce實現sql操作的基本原理:

乙個普通join的實現原理:

select u.name,o.orderid from order o join user u on o.oid=u.uid;

在map的輸出value中為不同的資料打上不同的tag標記,在reduce階段根據tag判斷資料**;

a join b on a.uid=b.uid;join會存在shuffle的情況;

groupby的實現原理:

將groupby的字段組合為map的輸出的key值,利用mapreduce的排序,在reduce階段儲存lastkey區分不同的key。mapreduce的過程如下(這裡只是說明reducedaunt的非hasg聚合過程)

select rank,level,count(*) from score group by rank,level;

不管是join還是group by 根據他們的條件進行shuffle;再利用mr的shuffle機制,相同的key分發到乙個reduce上去,最終做我們的聚合操作。

distinct的實現原理:

explain:

the abstract syntax tree for the query

the dependencies between the different stages of the plan

the description of each of the stages

hive使用antlr實現sql的詞法和語法解析,antlr是一種語言識別工具,可以用來構造領域語言。把sql字串轉換成ast

抽象語法樹:比較複雜

queryblock:

再把queryblock轉換成操作符:tablescanoperator

join shuffle:根據一定的規則進行map端資料分發到reduce上去,某乙個或者某幾個規則所對應的的資料量比較大

木桶原理:乙個木桶所能裝的水是由最短的板決定的;同理,乙個作業的效能就取決於裡面job最慢的那個,短板原理。

假設第乙個中有1億條資料,第二個中只有2條,就是資料扎堆在某個key上;存在兩種情況:能跑出來,但是比較慢;2、不能跑出來:oom情況

在使用hive、mapreduce、spark進行離線處理時的注意事項:

1)、input

格式問題(儲存)

2)、temp

計算要快

3)、output

輸出格式問題

etl過後的一張大寬表,不可能說所有的sql都去查詢這張大寬表;如果兩張sql表的語句類似,需要合理利用中間結果集,需要減輕讀大寬表的效能;從語法層面:set *** = yyy;

reduce個數設定 ==>決定了輸出的檔案個數,reduce個數越多會導致小檔案很多,reduce個數少又會導致跑的比較慢;要自己進行權衡,結合資料量和公司資源的情況。

大資料知識總結

同人工智慧一樣,在此簡單記錄一下大資料的重點。關聯規則 支援度 支援度揭示了a與b同時出現的概率 置信度 置信度揭示了a出現時,b是否也會出現或有多大概率出現 置信度計算 a b的置信度 的支援數 a的支援數 演算法過程 自己看 頻繁項集 對於乙個項集,它出現在若干事務中 演算法改進 事務壓縮 不包...

大資料基礎知識總結

1.什麼是大資料 維基百科對於大資料給出了乙個定性的描述 大資料是指無法使用傳統和常用的軟體技術和工具在一定時間內完成獲取 管理和處理的資料集。從技術特點來看,大資料滿足5v模型 大體量 volume 多樣性 variety 時效性 velocity 準確性 veracity 大價值 value 2...

前端知識點階段總結

1.不同解析度動態賦值 if window.innerwidth 1440 else dialogwidth 2.table批量刪除選中行 let rows this.refs.tablerefname.getselectallrows let ids rows.foreach item ids.p...