2025年大數(shù)據(jù)分析工程師技術(shù)操作考試試題及答案_第1頁
2025年大數(shù)據(jù)分析工程師技術(shù)操作考試試題及答案_第2頁
2025年大數(shù)據(jù)分析工程師技術(shù)操作考試試題及答案_第3頁
2025年大數(shù)據(jù)分析工程師技術(shù)操作考試試題及答案_第4頁
2025年大數(shù)據(jù)分析工程師技術(shù)操作考試試題及答案_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2025年大數(shù)據(jù)分析工程師技術(shù)操作考試試題及答案一、單項(xiàng)選擇題(每題2分,共20分)1.以下哪項(xiàng)不是Hadoop3.x版本引入的核心改進(jìn)?A.HDFS糾刪碼支持B.YARN資源隔離增強(qiáng)C.MapReducev1架構(gòu)保留D.多命名空間支持答案:C(Hadoop3.x已逐步淘汰MapReducev1,主推YARN+MapReducev2)2.關(guān)于SparkRDD的持久化操作,以下說法正確的是?A.persist()默認(rèn)存儲(chǔ)級(jí)別為MEMORY_ONLYB.cache()等同于persist(MEMORY_AND_DISK)C.持久化RDD時(shí),分區(qū)數(shù)必須與原RDD一致D.持久化數(shù)據(jù)丟失后,只能通過Checkpoint恢復(fù)答案:A(cache()是persist(MEMORY_ONLY)的別名;持久化分區(qū)數(shù)可調(diào)整;數(shù)據(jù)丟失可通過血緣重新計(jì)算)3.在Hive中執(zhí)行“SELECTCOUNT(DISTINCTuser_id)FROMlog_table”時(shí),若數(shù)據(jù)量極大,最可能導(dǎo)致的問題是?A.內(nèi)存溢出(OOM)B.HDFS塊大小不匹配C.YARN隊(duì)列資源不足D.元數(shù)據(jù)服務(wù)故障答案:A(COUNT(DISTINCT)在單Reducer中處理大量唯一值易導(dǎo)致內(nèi)存壓力)4.處理Kafka消費(fèi)時(shí),若消費(fèi)者組中某消費(fèi)者實(shí)例宕機(jī),Kafka的重平衡機(jī)制會(huì)優(yōu)先調(diào)整哪個(gè)資源?A.主題分區(qū)與消費(fèi)者的映射關(guān)系B.消費(fèi)者的心跳間隔C.Broker的消息保留策略D.生產(chǎn)者的ACK級(jí)別答案:A(重平衡核心是重新分配分區(qū)到存活的消費(fèi)者實(shí)例)5.以下哪種場(chǎng)景最適合使用Flink的EventTime時(shí)間語義?A.實(shí)時(shí)計(jì)算每分鐘的接口調(diào)用量(按服務(wù)器本地時(shí)間)B.分析用戶點(diǎn)擊事件的實(shí)際發(fā)生順序(考慮網(wǎng)絡(luò)延遲)C.統(tǒng)計(jì)當(dāng)天所有訂單的支付成功率(按系統(tǒng)處理時(shí)間)D.監(jiān)控服務(wù)器CPU使用率的實(shí)時(shí)波動(dòng)(按采集時(shí)間戳)答案:B(EventTime基于事件本身的時(shí)間戳,適用于需要處理亂序事件的場(chǎng)景)6.數(shù)據(jù)傾斜問題中,以下哪項(xiàng)不屬于常見的診斷方法?A.查看任務(wù)日志中的Reducer處理時(shí)長(zhǎng)B.統(tǒng)計(jì)Key的分布頻率(如通過GROUPBYKEYCOUNT())C.檢查HDFS文件的壓縮格式是否統(tǒng)一D.分析Shuffle階段的網(wǎng)絡(luò)流量分布答案:C(壓縮格式與數(shù)據(jù)傾斜無直接關(guān)聯(lián))7.關(guān)于HBase的Region分裂策略,以下說法錯(cuò)誤的是?A.自動(dòng)分裂可配置為基于Region大小或Region數(shù)量B.手動(dòng)分裂會(huì)導(dǎo)致短時(shí)間內(nèi)服務(wù)不可用C.預(yù)分區(qū)可減少初始階段的分裂次數(shù)D.分裂后的Region會(huì)被均衡到不同RegionServer答案:B(HBase的手動(dòng)分裂通過API完成,不會(huì)導(dǎo)致服務(wù)中斷)8.使用SparkMLlib訓(xùn)練邏輯回歸模型時(shí),若特征向量維度極高(>10萬維),最有效的優(yōu)化方法是?A.增加迭代次數(shù)B.使用L1正則化(Lasso)C.提高學(xué)習(xí)率D.關(guān)閉特征標(biāo)準(zhǔn)化答案:B(L1正則化可通過稀疏解自動(dòng)篩選重要特征,降低維度影響)9.在數(shù)據(jù)可視化中,展示“2024年各季度不同產(chǎn)品銷售額占比”的最佳圖表類型是?A.折線圖B.熱力圖C.餅圖D.箱線圖答案:C(餅圖適合展示部分與整體的比例關(guān)系)10.以下哪項(xiàng)不屬于數(shù)據(jù)質(zhì)量的核心評(píng)估指標(biāo)?A.完整性(Completeness)B.一致性(Consistency)C.時(shí)效性(Timeliness)D.多樣性(Diversity)答案:D(數(shù)據(jù)質(zhì)量通常包括完整性、準(zhǔn)確性、一致性、時(shí)效性等)二、填空題(每題2分,共20分)1.HDFS默認(rèn)塊大小在Hadoop3.x中為______GB。(答案:128)2.SparkSQL中,用于將DataFrame注冊(cè)為臨時(shí)視圖的方法是______。(答案:createOrReplaceTempView())3.Hive的元數(shù)據(jù)默認(rèn)存儲(chǔ)在______數(shù)據(jù)庫(kù)中(需填寫具體數(shù)據(jù)庫(kù)名稱)。(答案:Derby)4.Flink中,用于處理亂序事件的時(shí)間窗口需要結(jié)合______機(jī)制。(答案:水印/Watermark)5.Kafka中,消費(fèi)者通過______參數(shù)控制每次拉取的最大數(shù)據(jù)量。(答案:fetch.max.bytes)6.數(shù)據(jù)清洗中,處理缺失值的常用方法包括刪除記錄、填充默認(rèn)值和______。(答案:插值法/模型預(yù)測(cè))7.HBase中,RowKey的設(shè)計(jì)原則包括散列性、______和長(zhǎng)度適宜性。(答案:有序性/前綴匹配)8.SparkRDD的轉(zhuǎn)換操作中,______用于將多個(gè)RDD按元素位置合并(需填寫具體算子)。(答案:zip())9.實(shí)時(shí)數(shù)倉(cāng)架構(gòu)中,常見的分層設(shè)計(jì)包括ODS層、DWD層、DWS層和______層。(答案:ADS/應(yīng)用層)10.機(jī)器學(xué)習(xí)特征工程中,對(duì)類別型特征進(jìn)行編碼的常用方法有獨(dú)熱編碼(One-Hot)和______。(答案:標(biāo)簽編碼/目標(biāo)編碼)三、簡(jiǎn)答題(每題8分,共40分)1.簡(jiǎn)述數(shù)據(jù)傾斜的產(chǎn)生原因及三種常見解決方法。答案:產(chǎn)生原因:數(shù)據(jù)集中某些Key的記錄數(shù)遠(yuǎn)多于其他Key,導(dǎo)致Shuffle階段某Reducer/Task處理數(shù)據(jù)量過大,出現(xiàn)性能瓶頸。解決方法:①預(yù)聚合:在Map階段對(duì)高頻Key進(jìn)行局部聚合(如增加隨機(jī)前綴),減少Shuffle數(shù)據(jù)量;②過濾異常值:識(shí)別并清洗掉導(dǎo)致傾斜的無效Key(如測(cè)試數(shù)據(jù)、重復(fù)記錄);③調(diào)整并行度:增加Reducer數(shù)量,分散數(shù)據(jù)處理壓力;④使用兩階段聚合:先對(duì)Key分組聚合,再全局聚合(適用于COUNT、SUM等可合并的指標(biāo))。2.對(duì)比SparkRDD和DataFrame的優(yōu)缺點(diǎn),說明各自適用場(chǎng)景。答案:RDD優(yōu)點(diǎn):靈活性高,支持任意類型數(shù)據(jù)和復(fù)雜轉(zhuǎn)換操作;基于血緣的容錯(cuò)機(jī)制更可靠;RDD缺點(diǎn):缺乏結(jié)構(gòu)化元數(shù)據(jù),執(zhí)行效率依賴開發(fā)者優(yōu)化;API較為底層,代碼量較大。DataFrame優(yōu)點(diǎn):引入結(jié)構(gòu)化Schema,支持Catalyst優(yōu)化器自動(dòng)優(yōu)化執(zhí)行計(jì)劃;支持類SQL操作,開發(fā)效率高;DataFrame缺點(diǎn):處理非結(jié)構(gòu)化數(shù)據(jù)(如嵌套對(duì)象)時(shí)靈活性不足;Schema約束可能導(dǎo)致數(shù)據(jù)處理錯(cuò)誤。適用場(chǎng)景:RDD適用于需要細(xì)粒度控制數(shù)據(jù)處理邏輯的場(chǎng)景(如自定義序列化、復(fù)雜迭代算法);DataFrame適用于結(jié)構(gòu)化數(shù)據(jù)的快速分析(如報(bào)表提供、聚合統(tǒng)計(jì))。3.描述Flink中Watermark的作用及提供策略,并說明如何處理延遲數(shù)據(jù)。答案:作用:Watermark是事件時(shí)間推進(jìn)的標(biāo)識(shí),用于告知Flink當(dāng)前事件時(shí)間已處理到某一時(shí)刻,后續(xù)晚于該時(shí)間的事件可視為延遲數(shù)據(jù)。提供策略:①周期性提供(Periodic):按固定時(shí)間間隔(如每200ms)提供Watermark,計(jì)算當(dāng)前最大事件時(shí)間減去延遲容忍值;②標(biāo)點(diǎn)式提供(Punctuated):在特定事件(如收到特殊標(biāo)記)時(shí)提供Watermark。延遲數(shù)據(jù)處理方法:①允許一定延遲(設(shè)置window的allowedLateness):延遲數(shù)據(jù)仍可觸發(fā)窗口計(jì)算;②側(cè)輸出流(SideOutput):將延遲數(shù)據(jù)輸出到單獨(dú)流,后續(xù)單獨(dú)處理;③調(diào)整Watermark提供邏輯:增加延遲容忍值(如maxOutOfOrderness),避免過早關(guān)閉窗口。4.列舉Hive的三種常見存儲(chǔ)格式,并對(duì)比其壓縮率、查詢性能和適用場(chǎng)景。答案:①TextFile:默認(rèn)格式,無壓縮或支持Gzip/Bzip2;壓縮率低(Gzip約3:1),查詢需全表掃描,適用于小文件或臨時(shí)數(shù)據(jù);②Parquet:列式存儲(chǔ),支持Snappy/Gzip壓縮;壓縮率高(Snappy約2:1),支持謂詞下推,適用于大表存儲(chǔ)和復(fù)雜查詢;③ORC:列式存儲(chǔ),壓縮率高于Parquet(Snappy約3:1),支持索引和復(fù)雜類型,適用于Hive高頻查詢場(chǎng)景(如JOIN、聚合)。5.說明Kafka如何保證消息的可靠傳輸(需從生產(chǎn)者、Broker、消費(fèi)者三端說明)。答案:生產(chǎn)者端:通過ACK機(jī)制(acks=1/0/all)控制確認(rèn)級(jí)別,acks=all時(shí)需ISR中所有副本確認(rèn);Broker端:通過多副本機(jī)制(replication.factor≥3)和ISR(In-SyncReplicas)同步,確保消息持久化;消費(fèi)者端:通過手動(dòng)提交偏移量(mit=false+commitAsync()),避免消息重復(fù)或丟失;若消費(fèi)者宕機(jī),重平衡后新消費(fèi)者從最后提交的偏移量繼續(xù)消費(fèi)。四、操作題(每題15分,共30分)1.現(xiàn)有某電商用戶行為日志數(shù)據(jù)(存儲(chǔ)于HDFS路徑/user/hive/warehouse/log.db/user_behavior),數(shù)據(jù)格式為JSON,字段包括:user_id(字符串)、behavior_type(字符串,取值'click','buy','cart','fav')、item_id(字符串)、event_time(長(zhǎng)整型,UNIX時(shí)間戳)。要求使用HiveQL完成以下操作:(1)創(chuàng)建外部表user_behavior,分區(qū)字段為dt(日期,格式'yyyy-MM-dd'),存儲(chǔ)格式為ORC,壓縮編碼為Snappy;(2)將HDFS數(shù)據(jù)加載到表中(假設(shè)數(shù)據(jù)按dt分區(qū)存儲(chǔ),路徑為/user/hive/warehouse/log.db/user_behavior/dt=2024-10-01);(3)統(tǒng)計(jì)2024-10-01當(dāng)天各行為類型的用戶數(shù)(去重)。答案:(1)創(chuàng)建表語句:CREATEEXTERNALTABLElog.user_behavior(user_idSTRING,behavior_typeSTRING,item_idSTRING,event_timeBIGINT)PARTITIONEDBY(dtSTRING)STOREDASORCTBLPROPERTIES('press'='SNAPPY');(2)加載數(shù)據(jù)(假設(shè)數(shù)據(jù)已按分區(qū)存儲(chǔ),直接修復(fù)分區(qū)):MSCKREPAIRTABLElog.user_behavior;(3)統(tǒng)計(jì)用戶數(shù):SELECTbehavior_type,COUNT(DISTINCTuser_id)ASunique_usersFROMlog.user_behaviorWHEREdt='2024-10-01'GROUPBYbehavior_type;2.使用SparkScala編寫代碼,讀取HDFS上的CSV文件(路徑:hdfs://namenode:8020/data/sales.csv,列名為date,product,amount),完成以下任務(wù):(1)過濾出amount>1000的記錄;(2)按product分組,計(jì)算每組的總金額(sum_amount)和記錄數(shù)(count);(3)將結(jié)果保存到Hive表sales_summary(表結(jié)構(gòu):productSTRING,sum_amountDOUBLE,countINT),使用Overwrite模式。答案:importorg.apache.spark.sql.SparkSessionobjectSalesAnalysis{defmain(args:Array[String]):Unit={valspark=SparkSession.builder().appName("SalesSummary").enableHiveSupport().getOrCreate()importspark.implicits._//讀取CSV文件valsalesDF=spark.read.option("header","true").option("inferSchema","true").csv("hdfs://namenode:8020/data/sales.csv")//過濾amount>1000valfilteredDF=salesDF.filter($"amount">1000)//分組聚合valsummaryDF=filteredDF.groupBy("product").agg(sum("amount").as("sum_amount"),count("").as("count"))//寫入Hive表(Overwrite模式)summaryDF.write.mode("overwrite").saveAsTable("sales_summary")spark.stop()}}五、綜合題(20分)某企業(yè)需構(gòu)建實(shí)時(shí)用戶行為分析系統(tǒng),要求:數(shù)據(jù)源:手機(jī)APP埋點(diǎn)事件(JSON格式,包含user_id、event_type、page_id、timestamp);需求:實(shí)時(shí)統(tǒng)計(jì)每5分鐘內(nèi)各頁面(page_id)的UV(獨(dú)立用戶數(shù))和PV(訪問次數(shù));輸出:結(jié)果存儲(chǔ)到HBase(表名:page_stats,列族:cf,列:uv,pv,RowKey設(shè)計(jì)為page_id:window_start);需考慮數(shù)據(jù)亂序(最大延遲5分鐘)和系統(tǒng)容錯(cuò)。請(qǐng)?jiān)O(shè)計(jì)技術(shù)方案,包括:(1)數(shù)據(jù)采集與傳輸組件選型及配置要點(diǎn);(2)實(shí)時(shí)計(jì)算框架的選擇及核心參數(shù)設(shè)置;(3)HBase表結(jié)構(gòu)設(shè)計(jì)及數(shù)據(jù)寫入邏輯;(4)容錯(cuò)機(jī)制的實(shí)現(xiàn)方式。答案:(1)數(shù)據(jù)采集與傳輸:①采集:使用Flume或KafkaProducerSDK直接從APP端發(fā)送事件到Kafka;②傳輸:Kafka作為消息中間件,主題(topic)配置:partition數(shù)=集群Broker數(shù)×2(保證并行度),replication.factor=3(高可用),linger.ms=100(批量發(fā)送優(yōu)化),acks=all(確保消息不丟失)。(2)實(shí)時(shí)計(jì)算框架:選擇ApacheFlink(支持事件時(shí)間、窗口操作和精確一次處理);核心參數(shù):時(shí)間語義:EventTime(基于事件中的timestamp字段);Watermark提供:周期性提供(interval=200ms),maxOutOfOrderness=5分鐘(允許最大延遲);窗口類型:滑動(dòng)窗口(TumblingWindow,5分鐘窗口,無滑動(dòng));狀態(tài)后端:RocksDB(處理大狀態(tài)數(shù)據(jù)),checkpoi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論