2025年大數(shù)據(jù)工程師執(zhí)業(yè)資格考試試題及答案解析_第1頁(yè)
2025年大數(shù)據(jù)工程師執(zhí)業(yè)資格考試試題及答案解析_第2頁(yè)
2025年大數(shù)據(jù)工程師執(zhí)業(yè)資格考試試題及答案解析_第3頁(yè)
2025年大數(shù)據(jù)工程師執(zhí)業(yè)資格考試試題及答案解析_第4頁(yè)
2025年大數(shù)據(jù)工程師執(zhí)業(yè)資格考試試題及答案解析_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

2025年大數(shù)據(jù)工程師執(zhí)業(yè)資格考試試題及答案解析一、單項(xiàng)選擇題(每題1分,共20分。每題只有一個(gè)正確答案,請(qǐng)將正確選項(xiàng)字母填入括號(hào)內(nèi))1.在HDFS中,默認(rèn)塊大小為128MB。若某文件大小為650MB,則其會(huì)被切分成幾個(gè)塊()A.4B.5C.6D.7答案:C解析:650÷128≈5.08,向上取整得6塊。2.SparkCore的RDD采用何種容錯(cuò)機(jī)制()A.檢查點(diǎn)B.預(yù)寫(xiě)日志C.血統(tǒng)(Lineage)D.多副本答案:C解析:RDD通過(guò)血統(tǒng)信息實(shí)現(xiàn)容錯(cuò),丟失分區(qū)可依據(jù)血統(tǒng)重新計(jì)算。3.Kafka中保證同一分區(qū)消息全局有序的配置是()A.acks=allB.enable.idempotence=trueC.max.in.flight.requests.per.connection=1D.retries>0答案:C解析:該參數(shù)限制客戶端在途請(qǐng)求數(shù)為1,避免重試導(dǎo)致亂序。4.在Flink的時(shí)間語(yǔ)義中,EventTime的最小必要配置是()A.設(shè)置并行度B.指定Watermarks生成策略C.開(kāi)啟CheckpointD.禁用OperatorChain答案:B解析:EventTime必須依賴Watermarks處理亂序。5.Hive中,以下哪種文件格式支持行級(jí)索引()A.TextFileB.SequenceFileC.ORCD.CSV答案:C解析:ORC內(nèi)置行組索引與布隆過(guò)濾器,可快速跳過(guò)無(wú)關(guān)數(shù)據(jù)。6.若某分類模型在測(cè)試集上Precision=0.9,Recall=0.8,則F1值為()A.0.85B.0.844C.0.866D.0.889答案:B解析:F1=2PR/(P+R)=2×0.9×0.8/(0.9+0.8)≈0.844。7.在Scala中,以下哪段代碼可正確創(chuàng)建SparkSession()A.newSparkSession()B.SparkSession.builder().getOrCreate()C.SparkContext.getOrCreate()D.sqlContext.sparkSession答案:B解析:Spark2.x之后統(tǒng)一入口為SparkSession.builder()。8.HBase的RowKey設(shè)計(jì)應(yīng)避免()A.散列B.時(shí)間戳前置C.加鹽D.反轉(zhuǎn)答案:B解析:時(shí)間戳前置易導(dǎo)致熱點(diǎn),寫(xiě)入集中。9.使用MapReduce默認(rèn)HashPartitioner時(shí),Reducer數(shù)量由哪個(gè)參數(shù)決定()A.mapreduce.job.mapsB.mapreduce.job.reducesC.mapreduce.task.io.sort.mbD.mapreduce.map.memory.mb答案:B解析:reduces參數(shù)直接決定Reducer個(gè)數(shù)。10.在數(shù)據(jù)倉(cāng)庫(kù)分層中,DWD層主要保存()A.原始日志B.明細(xì)事實(shí)C.維度表D.匯總指標(biāo)答案:B解析:DWD(DataWarehouseDetail)清洗后的明細(xì)事實(shí)。11.以下關(guān)于數(shù)據(jù)傾斜的描述正確的是()A.只會(huì)發(fā)生在Shuffle階段B.可通過(guò)兩階段聚合緩解C.增加并行度必然解決D.與業(yè)務(wù)數(shù)據(jù)分布無(wú)關(guān)答案:B解析:兩階段聚合(局部聚合+全局聚合)是常用緩解手段。12.在Pythonpandas中,將DataFramedf的列col按值降序排列并取前10%的行,正確寫(xiě)法是()A.df.sort_values('col').head(int(len(df)0.1))B.df.sort_values('col',ascending=False).head(int(len(df)0.1))C.df.nlargest(int(len(df)0.1),'col')D.B和C均可答案:D解析:nlargest語(yǔ)義清晰,B寫(xiě)法同樣正確。13.某電商表order(user_id,sku_id,amt),計(jì)算每個(gè)用戶最大單次成交金額,SQL寫(xiě)法為()A.selectuser_id,max(amt)fromordergroupbyuser_id;B.selectuser_id,amtfromorderwhereamt=max(amt);C.selectuser_id,top1(amt)fromorder;D.selectuser_id,amtfromordergroupbyuser_idhavingamt=max(amt);答案:A解析:聚合函數(shù)max配合groupby即可。14.在Airflow中,任務(wù)依賴A完成后觸發(fā)B,正確聲明為()A.B.set_upstream(A)B.A.set_downstream(B)C.A>>BD.以上都對(duì)答案:D解析:三種寫(xiě)法等價(jià)。15.以下哪種壓縮算法支持切片(Splittable)()A.GzipB.Bzip2C.LZO(建立索引后)D.Snappy答案:C解析:LZO需額外建索引才能切片。16.在Elasticsearch中,對(duì)text字段進(jìn)行精確匹配應(yīng)使用()A.termB.matchC.match_phraseD.query_string答案:A解析:term查詢不做分詞,用于精確值。17.若某Spark任務(wù)提交參數(shù)executormemory4gexecutorcores2,集群共64核,則最多可啟動(dòng)多少個(gè)Executor()A.32B.16C.64D.與內(nèi)存無(wú)關(guān)答案:A解析:64核÷2核/Executor=32;內(nèi)存?zhèn)?2×4g=128g,未超限即可。18.數(shù)據(jù)治理元數(shù)據(jù)中,血緣(Lineage)屬于()A.業(yè)務(wù)元數(shù)據(jù)B.技術(shù)元數(shù)據(jù)C.操作元數(shù)據(jù)D.管理元數(shù)據(jù)答案:B解析:血緣描述數(shù)據(jù)流轉(zhuǎn),屬于技術(shù)元數(shù)據(jù)。19.在AWS中,適合存放海量冷數(shù)據(jù)且延遲不敏感的對(duì)象存儲(chǔ)級(jí)別是()A.S3StandardB.S3IAC.GlacierDeepArchiveD.EFS答案:C解析:DeepArchive成本最低,檢索小時(shí)級(jí)。20.以下關(guān)于數(shù)據(jù)湖的說(shuō)法錯(cuò)誤的是()A.先定義schema后寫(xiě)入數(shù)據(jù)B.可存儲(chǔ)原始格式C.支持多引擎分析D.與數(shù)據(jù)倉(cāng)庫(kù)可互補(bǔ)答案:A解析:數(shù)據(jù)湖主張schemaonread,寫(xiě)入時(shí)不強(qiáng)制schema。二、多項(xiàng)選擇題(每題2分,共20分。每題至少有兩個(gè)正確答案,多選、少選、錯(cuò)選均不得分)21.關(guān)于YARN容量調(diào)度器(CapacityScheduler)的特性,正確的有()A.支持隊(duì)列層級(jí)B.支持資源搶占C.支持FIFOD.支持動(dòng)態(tài)自動(dòng)擴(kuò)縮容答案:AB解析:容量調(diào)度器支持層級(jí)隊(duì)列與搶占,不支持FIFO(FIFO為默認(rèn)單機(jī)調(diào)度),動(dòng)態(tài)擴(kuò)縮容需外部機(jī)制。22.以下屬于FlinkCheckpoint持久化到HDFS所需配置的有()A.state.backend:filesystemB.state.checkpoints.dir:hdfs://...C.erval:30sD.jobmanager.execution.failoverstrategy:region答案:ABC解析:D為故障恢復(fù)策略,與持久化無(wú)關(guān)。23.造成Hive表查詢小文件過(guò)多的原因包括()A.動(dòng)態(tài)分區(qū)插入B.Reduce數(shù)量過(guò)多C.文本格式存儲(chǔ)D.上游Flume滾動(dòng)策略過(guò)小答案:ABD解析:文本格式本身不直接產(chǎn)生小文件,關(guān)鍵在寫(xiě)入端。24.關(guān)于數(shù)據(jù)傾斜的監(jiān)控指標(biāo),可在SparkUI中觀察到的有()A.TaskDurationB.ShuffleReadSizeC.GCTimeD.RecordsRead答案:ABD解析:GCTime與傾斜無(wú)直接對(duì)應(yīng)關(guān)系。25.以下Python代碼可正確實(shí)現(xiàn)矩陣相乘MatA(m×n)與B(n×p)得到C(m×p)的有()A.C=[[sum(abfora,binzip(row,col))forcolinzip(B)]forrowinA]B.C=np.dot(A,B)C.C=A@BD.C=AB答案:ABC解析:D為逐元素乘。26.關(guān)于KafkaConsumerRebalance過(guò)程,正確的有()A.觸發(fā)條件包括消費(fèi)者加入或退出B.使用Coordinator協(xié)調(diào)C.采用Range或RoundRobin策略D.再均衡期間消費(fèi)暫停答案:ABCD解析:再均衡會(huì)暫停拉取。27.以下屬于數(shù)據(jù)質(zhì)量維度的是()A.準(zhǔn)確性B.一致性C.時(shí)效性D.可擴(kuò)展性答案:ABC解析:可擴(kuò)展性為架構(gòu)維度。28.在SparkSQL中使用窗口函數(shù)時(shí),必須配合的子句有()A.PARTITIONBYB.ORDERBYC.ROWSBETWEEND.OVER答案:D解析:OVER必須,其余視需求。29.以下做法能夠提升HBase讀取性能的有()A.開(kāi)啟BlockCacheB.設(shè)置BloomFilterC.縮小RowKey長(zhǎng)度D.關(guān)閉WAL答案:ABC解析:關(guān)閉WAL僅提升寫(xiě)入,且犧牲可靠性。30.關(guān)于數(shù)據(jù)安全GDPR合規(guī),正確的有()A.數(shù)據(jù)可攜帶權(quán)B.被遺忘權(quán)C.需任命DPOD.罰款上限為4%全球營(yíng)收答案:ABCD解析:均為GDPR條款。三、填空題(每空2分,共20分)31.Spark任務(wù)中,每個(gè)Partition默認(rèn)對(duì)應(yīng)________個(gè)Task。答案:132.在Linux下,查看某目錄下各子目錄磁盤(pán)使用空間的命令是________。答案:duhmaxdepth=133.HBase中,用于查看表結(jié)構(gòu)的shell命令是________。答案:describe'tableName'34.MySQL中,查看慢查詢是否開(kāi)啟的變量名是________。答案:slow_query_log35.若某決策樹(shù)最大深度為5,則其最多有________層節(jié)點(diǎn)。答案:6(含根節(jié)點(diǎn))36.Elasticsearch集群中,默認(rèn)主分片數(shù)為_(kāi)_______。答案:537.在Airflow的DAG文件中,任務(wù)默認(rèn)觸發(fā)方式為_(kāi)_______。答案:SequentialExecutor(或depends_on_past=true亦可,標(biāo)準(zhǔn)空填SequentialExecutor)38.Kafka的log.retention.hours參數(shù)默認(rèn)值為_(kāi)_______小時(shí)。答案:16839.若某表每日增量2GB,保留365天,采用LZO壓縮比0.25,則理論磁盤(pán)占用約________GB。答案:182(2×0.25×365)40.在Scala中,惰性求值的關(guān)鍵字為_(kāi)_______。答案:lazy四、簡(jiǎn)答題(共25分)41.(開(kāi)放型,10分)簡(jiǎn)述Lambda架構(gòu)與Kappa架構(gòu)的核心差異,并給出各自適用場(chǎng)景。答案:Lambda架構(gòu)將離線(批)與實(shí)時(shí)(速)路徑分離,分別寫(xiě)入服務(wù)層,查詢時(shí)合并結(jié)果;優(yōu)點(diǎn)為批層可修復(fù)實(shí)時(shí)誤差,缺點(diǎn)為兩套代碼維護(hù)復(fù)雜。Kappa架構(gòu)僅保留流路徑,通過(guò)重放消息隊(duì)列完成歷史數(shù)據(jù)計(jì)算;簡(jiǎn)化代碼,但對(duì)消息隊(duì)列持久化與重放能力要求高,且復(fù)雜離線迭代計(jì)算性能不足。適用場(chǎng)景:Lambda——金融對(duì)賬、報(bào)表等強(qiáng)一致性修復(fù)需求;Kappa——日志實(shí)時(shí)分析、監(jiān)控告警等以最新數(shù)據(jù)為主的場(chǎng)景。42.(封閉型,8分)說(shuō)明SparkSQL中CBO(CostBasedOptimization)的觸發(fā)條件及主要優(yōu)化策略。答案:觸發(fā)條件:1.spark.sql.cbo.enabled=true;2.收集表/列統(tǒng)計(jì)信息(ANALYZETABLECOMPUTESTATISTICS);3.參與優(yōu)化的表為Hivemetastore管理。優(yōu)化策略:1.多表連接重排序,選擇最小代價(jià)順序;2.動(dòng)態(tài)調(diào)整廣播join閾值,優(yōu)先廣播小表;3.基于列統(tǒng)計(jì)推導(dǎo)過(guò)濾后行數(shù),優(yōu)化后續(xù)算子并行度;4.消除不必要的排序與重分區(qū)。43.(開(kāi)放型,7分)列舉三種降低Flink作業(yè)端到端延遲的配置手段,并給出潛在代價(jià)。答案:1.縮短checkpoint間隔:延遲降低,但HDFS壓力增大,反壓風(fēng)險(xiǎn)上升;2.使用atmostonce語(yǔ)義:延遲最低,但可能丟數(shù)據(jù);3.降低算子并行度鏈斷點(diǎn):減少序列化開(kāi)銷,但可能犧牲吞吐量;4.啟用buffertimeout=0:立即刷新數(shù)據(jù),增加網(wǎng)絡(luò)小包數(shù)量,CPU負(fù)載升高。五、應(yīng)用題(共65分)44.(計(jì)算類,15分)某電商公司2024年訂單表order(order_id,user_id,sku_id,price,qty,order_date)存儲(chǔ)于Hive,數(shù)據(jù)量約500億行,采用ORC+ZLIB壓縮,單文件256MB?,F(xiàn)需統(tǒng)計(jì)近30天“用戶累計(jì)消費(fèi)滿1000元且訂單數(shù)≥5”的合格用戶,并每日更新。(1)給出增量計(jì)算思路,要求避免全表掃描;(2)寫(xiě)出核心SQL(含分區(qū)過(guò)濾);(3)評(píng)估每日增量數(shù)據(jù)量級(jí)對(duì)性能的影響并給出優(yōu)化參數(shù)。答案:(1)建立分區(qū)表order_ptn(order_datestring)按日分區(qū);每日凌晨基于order_ptnwhereorder_datebetweendate_sub(current_date,29)andcurrent_date掃描30個(gè)分區(qū);結(jié)果表user_threshold(user_id,total_amt,order_cnt,dt)按dt分區(qū),每日覆蓋;采用MERGEINTO或InsertOverwrite。(2)```sqlinsertoverwritetableuser_thresholdpartition(dt='20250625')selectuser_id,sum(priceqty)astotal_amt,count()asorder_cntfromorder_ptnwhereorder_datebetween'20250526'and'20250625'groupbyuser_idhavingtotal_amt>=1000andorder_cnt>=5;```(3)假設(shè)日新增2億行,ORC壓縮比0.2,約40GB;開(kāi)啟CBO,設(shè)置hive.exec.parallel=true,hive.exec.dynamic.partition=true,map任務(wù)數(shù)≈40GB/256MB≈160,合理;若數(shù)據(jù)傾斜,可二次聚合:先按user_id局部聚合,再全局匯總。45.(分析類,20分)某SparkStreaming作業(yè)消費(fèi)Kafka,每秒1萬(wàn)條JSON,每條約2KB,處理窗口10s,使用checkpoint到HDFS。近期出現(xiàn)批次延遲遞增,觀察Driver日志顯示“Batch20250620T14:00:00Z”處理耗時(shí)120s,遠(yuǎn)高于平均10s。(1)給出定位步驟;(2)列舉三項(xiàng)根因并給出驗(yàn)證方法;(3)給出對(duì)應(yīng)調(diào)優(yōu)措施。答案:(1)步驟:a.SparkUI查看該批次Stage耗時(shí),定位最慢Stage;b.分析Task級(jí)別Metrics,發(fā)現(xiàn)某Task處理記錄數(shù)遠(yuǎn)大于平均(傾斜);c.檢查GC日志是否FullGC頻繁;d.查看KafkaLag是否突增。(2)根因與驗(yàn)證:1.數(shù)據(jù)傾斜——Task記錄數(shù)分布箱線圖,某分區(qū)>95%分位數(shù);2.單條JSON膨脹——采樣發(fā)現(xiàn)部分消息>10MB,導(dǎo)致反序列化耗時(shí);3.checkpoint目錄小文件過(guò)多——HDFScount小文件>10萬(wàn),寫(xiě)耗時(shí)增加。(3)調(diào)優(yōu):1.傾斜key加鹽+兩階段聚合;2.限制Kafka單條消息最大1MB,超大數(shù)據(jù)走離線;3.checkpoint設(shè)置spark.hadoop.mapreduce.fileoutputcommitter.algorithm.version=2,合并小文件,或切換至S3Guard。46.(綜合

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論