欧美1区2区3区激情无套,两个女人互添下身视频在线观看,久久av无码精品人妻系列,久久精品噜噜噜成人,末发育娇小性色xxxx

大數據相關面試題每日五問(三)

  1. 對ES的倒排索引了解多少?工作原理?如何提高其查詢效率?
  2. 了解MySQL中的事務嗎?它的ACID特性指的是什么?
  3. 簡述數據倉庫中“維度”和“事實”表的區(qū)別及其作用
  4. 構建數倉的模型有哪些?展開講講。
  5. HDFS 的寫數據流程是怎樣的?如果一個 DN在寫入過程中發(fā)生故障,Hadoop 會如何處理?

(1)http://fangfengwang8.cn/discuss/738791848554086400

(2)http://fangfengwang8.cn/discuss/739079633773023232

對ES的倒排索引了解多少?工作原理?如何提高其查詢效率?

Elasticsearch 使用的是倒排索引(Inverted Index),這是實現全文檢索的核心機制。其原理是:將每個文檔中的字段內容進行分詞處理,然后為每個詞項建立一個詞典(term),記錄該詞在哪些文檔(文檔 ID)中出現,以及出現的位置和頻率。這樣查詢時不是遍歷每個文檔去找關鍵詞,而是直接查詞典獲取相關文檔列表,極大提升了檢索效率。為了進一步提高查詢性能,可以采取多種優(yōu)化手段:一是合理設置字段類型和分詞器,減少無效字段的索引;二是使用 keyword 類型字段做精確匹配,避免不必要的全文分詞;三是通過設置合適的 filter 緩存結果、避免重復計算;四是開啟 doc_values 支持聚合、排序等操作,減少內存消耗;五是避免過度嵌套結構,必要時使用 flattenedjoin 優(yōu)化文檔結構。此外,合理的索引設計、分片分配和冷熱數據分離也是保障查詢效率的重要手段。

了解MySQL中的事務嗎?它的ACID特性指的是什么?

MySQL 中的事務是指一組操作的集合,要么全部執(zhí)行成功,要么全部回滾撤銷,常用于保證數據的一致性與完整性。事務具有四大特性,也就是 ACID原子性(Atomicity) 指事務中的操作要么全部完成,要么全部不做,出現錯誤可以回滾;一致性(Consistency) 保證事務執(zhí)行前后數據都滿足數據庫的約束規(guī)則,不會出現破壞數據邏輯的狀態(tài);隔離性(Isolation) 表示多個事務并發(fā)執(zhí)行時互不干擾,常見的隔離級別包括讀未提交、讀已提交、可重復讀、串行化;持久性(Durability) 指事務一旦提交,對數據的修改就是永久性的,即使系統(tǒng)宕機也不會丟失。MySQL 中默認使用 InnoDB 引擎來支持事務,其通過 redo log、undo log 和鎖機制來實現對 ACID 的保障。

簡述數據倉庫中“維度”和“事實”表的區(qū)別及其作用

在數據倉庫中,維度表和事實表是構建星型或雪花模型的核心組成部分。事實表(Fact Table) 用于存儲與業(yè)務事件相關的度量值或指標數據,例如訂單金額、銷售數量等,通常數據量大,記錄的是“發(fā)生了什么”;而 維度表(Dimension Table) 則存儲描述事實的維度信息,比如時間、地區(qū)、產品、用戶等,是對事實的多角度分析視角。二者的主要區(qū)別在于:事實表關注“數值和業(yè)務行為”,維度表關注“描述和分類信息”;事實表一般包含外鍵關聯多個維度表,而維度表一般數據量小但字段豐富,便于查詢和篩選。在實際應用中,通過維度表可以對事實表的數據進行分組、聚合、切片和鉆取,是實現多維分析(OLAP)的基礎。

構建數倉的模型有哪些?展開講講。

構建數倉的常見模型主要包括星型模型、雪花模型和事實星座模型。星型模型是最常用的一種,其特點是一個中心事實表直接連接多個維度表,結構簡單、查詢高效,適合于查詢頻繁、維度較少的場景;雪花模型是在星型模型基礎上對維度表進一步規(guī)范化,將維度表拆分為多個層級子表,形成樹狀結構,減少冗余、節(jié)省存儲,但查詢時關聯復雜、效率較低;事實星座模型(也叫復合星型模型)是多個事實表共享維度表的結構,適用于存在多個業(yè)務過程(如訂單、支付、退貨等)且共享維度的復雜分析需求。選擇哪種模型需根據業(yè)務需求、數據復雜度和查詢性能權衡,實際開發(fā)中也常采用分層建模(ODS、DWD、DWS、ADS)與上述模型相結合,實現數據的穩(wěn)定、復用與靈活分析。

HDFS 的寫數據流程是怎樣的?如果一個 DN在寫入過程中發(fā)生故障,Hadoop 會如何處理?

?HDFS 中的寫數據流程從客戶端開始,首先客戶端向 NameNode 請求文件寫入權限。NameNode 確認文件不存在后,將文件寫入的權限以及負責存儲數據塊的 DataNode 信息返回給客戶端??蛻舳巳缓髸c DataNode 建立連接,并通過一個個數據塊的方式進行寫入。每個數據塊(Block)會按照一定的副本策略(默認三個副本)分配到多個 DataNode 上。客戶端向每個 DataNode 傳輸數據時,會將數據寫入第一個數據塊,完成后接著寫第二個、第三個,以此類推。如果在寫入過程中,某個 DataNode 發(fā)生故障,NameNode 會根據副本機制將數據復制到其他健康的 DataNode 上,確保數據不會丟失。通過心跳機制和副本機制,DataNode 故障會被檢測到,并且數據會自動恢復到最新副本。故障發(fā)生時,HDFS 會根據剩余副本的數據恢復丟失的部分。

1、Client通過Distributed FileSystem模塊向NN請求上傳文件,NN檢查目標文件是否已存在,父目錄是否存在
2、NN返回是否可以上傳
3、Client請求第一個block上傳哪幾個DN服務器上
4、NN返回3個DN節(jié)點,分別為DN1、DN2、DN3
5、Client通過FSDataOutputStream模塊請求DN1建立傳輸通道,DN1收到請求會繼續(xù)調用DN2,DN2繼續(xù)調用DN3
6、DN3應答DN2,DN2應答DN1,DN1應答Client
7、Client開始往DN1上傳第一個block(先讀取數據放到一個本地磁盤緩存),以packet為單位,DN1收到一個packet就會上傳給DN2,DN2傳給DN3;DN1每傳一個packet會放入到一個應答隊列等待應答
8、當一個block傳輸完成后,Client會再次請求NN上傳第二個block的服務器,重復執(zhí)行3-7

引自:https://github.com/GTyingzi/BigDATA/blob/main/%E5%A4%A7%E6%95%B0%E6%8D%AE%E6%A1%86%E6%9E%B6/Hadoop.md#hdfs%E5%86%99%E6%B5%81%E7%A8%8B

#??虯I配圖神器#

#??徒鈶n鋪##數據人的面試交流地#
大數據相關面試題合集 文章被收錄于專欄

努力找實習中,整理一些大數據相關面試題和大家分享,共同學習進步,有建議或批評歡迎留言!

全部評論
data故障可以說一下pipe管道和ack確認,感覺更想聽這些
1 回復 分享
發(fā)布于 04-28 09:08 山東
想問HDFS故障細節(jié)
點贊 回復 分享
發(fā)布于 04-09 15:14 湖北
關于問題2??回答的補充: Elasticsearch 采用倒排索引(Inverted Index)來提高全文搜索的效率。倒排索引的核心思想是將文檔的內容預處理,建立從“詞”到“文檔 ID”映射的索引結構,而不是像傳統(tǒng)數據庫那樣按行存儲數據。具體過程是:首先對文檔中的文本進行分詞(Tokenization),將其拆分成單個詞項(Term),然后建立詞項到文檔 ID 的映射表。這種方式使得查詢時不需要逐個掃描文檔,而是可以直接查找詞項并快速定位包含該詞的所有文檔,大幅提高查詢效率,特別適用于全文檢索。 ?
點贊 回復 分享
發(fā)布于 04-09 14:44 湖北

相關推薦

評論
點贊
2
分享

創(chuàng)作者周榜

更多
??途W
牛客企業(yè)服務