版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2025年大數(shù)據(jù)工程師職業(yè)資格考試試題及答案一、單項(xiàng)選擇題(每題1分,共20分。每題只有一個(gè)正確答案,請(qǐng)將正確選項(xiàng)字母填入括號(hào)內(nèi))1.在Hadoop3.x中,默認(rèn)的塊大小為()A.32MB??B.64MB??C.128MB??D.256MB答案:C2.SparkSQL中,將DataFrame注冊(cè)為臨時(shí)視圖的API是()A.cache()??B.persist()??C.createOrReplaceTempView()??D.registerTempTable()答案:C3.下列關(guān)于KafkaPartition的描述,錯(cuò)誤的是()A.一個(gè)Topic可配置多個(gè)PartitionB.同一Partition內(nèi)消息嚴(yán)格有序C.ConsumerGroup內(nèi)每個(gè)Consumer只能消費(fèi)一個(gè)PartitionD.Partition數(shù)量一旦創(chuàng)建不可動(dòng)態(tài)擴(kuò)容答案:D4.Flink的Checkpoint機(jī)制基于()A.Twophasecommit??B.ChandyLamport算法??C.Paxos??D.Raft答案:B5.在Hive中,使用ORC格式存儲(chǔ)的最大優(yōu)勢(shì)是()A.支持事務(wù)Update/Delete??B.支持JSON嵌套??C.支持實(shí)時(shí)寫(xiě)入??D.支持圖計(jì)算答案:A6.HBase中,用于實(shí)現(xiàn)Region自動(dòng)分裂的策略類(lèi)是()A.IncreasingToUpperBoundRegionSplitPolicyB.ConstantSizeRegionSplitPolicyC.DisabledRegionSplitPolicyD.ManualRegionSplitPolicy答案:A7.下列算法中,屬于聚類(lèi)算法的是()A.Apriori??B.DBSCAN??C.C4.5??D.Adaboost答案:B8.在Scala中,下列代碼輸出為()valrdd=sc.parallelize(List(1,2,3,4))valres=rdd.aggregate(0)(_+_,_+_)A.6??B.10??C.0??D.24答案:B9.數(shù)據(jù)倉(cāng)庫(kù)分層模型中,DWD層的主要職責(zé)是()A.原始數(shù)據(jù)保留??B.輕度匯總??C.明細(xì)數(shù)據(jù)清洗??D.數(shù)據(jù)應(yīng)用接口答案:C10.在Pythonpandas中,將DataFramedf的列col按降序排列并取前10行,正確寫(xiě)法是()A.df.sort_values('col',ascending=False).head(10)B.df.orderBy('col',ascending=False).limit(10)C.df.sort('col',False).take(10)D.df.top(10,'col')答案:A11.下列關(guān)于數(shù)據(jù)傾斜的說(shuō)法,正確的是()A.Map端必然發(fā)生傾斜??B.Reduce端傾斜可通過(guò)兩階段聚合緩解C.傾斜只發(fā)生在Join階段??D.增加Partition數(shù)一定消除傾斜答案:B12.在AWS中,適合存放PB級(jí)冷數(shù)據(jù)的存儲(chǔ)服務(wù)是()A.EBS??B.S3Standard??C.S3GlacierDeepArchive??D.EFS答案:C13.使用Sqoop將MySQL數(shù)據(jù)導(dǎo)入Hive時(shí),參數(shù)splitby的作用是()A.指定Hive分區(qū)字段??B.指定并行切分列??C.指定壓縮格式??D.指定行分隔符答案:B14.下列關(guān)于數(shù)據(jù)血緣的描述,錯(cuò)誤的是()A.可用于影響分析??B.需要解析SQL語(yǔ)義C.只能支持表級(jí)血緣??D.可輔助數(shù)據(jù)質(zhì)量追溯答案:C15.在FlinkTableAPI中,窗口函數(shù)TUMBLE的窗口長(zhǎng)度指定為5分鐘,語(yǔ)法為()A.TUMBLE(rowtime,INTERVAL'5'MINUTE)B.TUMBLE(proctime,5)C.TUMBLE_START(rowtime,5m)D.WINDOWTUMBLE(5MINUTES)答案:A16.下列關(guān)于ZooKeeper的Znode類(lèi)型,可用于分布式鎖的是()A.Persistent??B.Ephemeral??C.Container??D.TTL答案:B17.在數(shù)據(jù)質(zhì)量評(píng)估維度中,“數(shù)據(jù)應(yīng)在業(yè)務(wù)發(fā)生后5分鐘內(nèi)到達(dá)”屬于()A.完整性??B.一致性??C.及時(shí)性??D.唯一性答案:C18.使用SparkMLlib訓(xùn)練ALS推薦模型時(shí),必須設(shè)置的參數(shù)是()A.maxDepth??B.rank??C.numTrees??D.stepSize答案:B19.在Elasticsearch中,實(shí)現(xiàn)父子文檔關(guān)聯(lián)的字段類(lèi)型是()A.nested??B.object??C.join??D.geo_point答案:C20.下列關(guān)于數(shù)據(jù)湖的說(shuō)法,正確的是()A.僅支持結(jié)構(gòu)化數(shù)據(jù)??B.Schemaonwrite是核心特征C.通常與ETL解耦??D.不支持ACID事務(wù)答案:C二、多項(xiàng)選擇題(每題2分,共20分。每題有兩個(gè)或兩個(gè)以上正確答案,多選、少選、錯(cuò)選均不得分)21.下列組件中,屬于Hadoop生態(tài)的是()A.YARN??B.Presto??C.HDFS??D.Tez??E.Kudu答案:A、C、D22.導(dǎo)致Spark作業(yè)OOM的常見(jiàn)原因包括()A.并行度設(shè)置過(guò)高??B.使用collect()取回大RDDC.序列化框架選擇Kryo??D.廣播變量過(guò)大??E.啟用動(dòng)態(tài)資源分配答案:B、D23.下列關(guān)于KafkaConsumerRebalance的描述,正確的是()A.觸發(fā)條件包括Consumer加入或退出B.使用StickyAssignor可減少分區(qū)遷移C.Rebalance期間消費(fèi)暫停D.Partition分配策略由Broker端配置E.可自定義分配策略答案:A、B、C、E24.在Hive中,可用于實(shí)現(xiàn)行級(jí)更新的機(jī)制包括()A.ORC+ACID??B.HDFS追加寫(xiě)??C.Merge語(yǔ)句??D.Insertoverwrite??E.DeltaLake答案:A、C、E25.下列屬于Flink時(shí)間語(yǔ)義的是()A.ProcessingTime??B.IngestionTime??C.EventTime??D.WindowTime??E.TriggerTime答案:A、B、C26.下列Python代碼可正確實(shí)現(xiàn)DataFramedf缺失值均值填充的是()A.df.fillna(df.mean())B.df.replace(None,df.mean())C.df.transform(lambdax:x.fillna(x.mean()))D.df.apply(lambdax:x.fillna(x.mean(),axis=0))E.erpolate()答案:A、C27.下列關(guān)于數(shù)據(jù)治理核心域的描述,正確的是()A.元數(shù)據(jù)管理??B.主數(shù)據(jù)管理??C.數(shù)據(jù)標(biāo)準(zhǔn)管理??D.數(shù)據(jù)生命周期管理??E.網(wǎng)絡(luò)帶寬管理答案:A、B、C、D28.在AWSGlue中,可用于觸發(fā)ETL作業(yè)的事件包括()A.S3Put事件??B.ScheduleCron??D.DynamoDBStream??D.GlueDataCatalog更新??E.KinesisDataFirehose答案:A、B、C、D29.下列關(guān)于ClickHouse的描述,正確的是()A.列式存儲(chǔ)??B.支持向量引擎??C.不支持事務(wù)??D.支持實(shí)時(shí)Insert??E.支持Geo查詢答案:A、C、D、E30.下列屬于數(shù)據(jù)安全脫敏算法的是()A.MD5??B.Tokenization??C.Kanonymity??D.DifferentialPrivacy??E.SHA256答案:B、C、D三、填空題(每空2分,共20分)31.在Spark中,RDD的五大特征分別為_(kāi)_______、________、________、________、________。答案:分區(qū)列表、依賴關(guān)系、計(jì)算函數(shù)、分區(qū)策略、首選位置32.HBase中,RegionServer的默認(rèn)RPC端口是________。答案:1602033.Kafka的LeaderPartition副本故障時(shí),負(fù)責(zé)重新選舉Leader的控制器組件是________。答案:KafkaController34.在Pythonpandas中,將字符串列轉(zhuǎn)換為日期時(shí)間類(lèi)型的函數(shù)是________。答案:to_datetime35.Flink的Checkpoint屏障插入策略采用________模式,確保Exactlyonce。答案:AlignedBarriers36.Hive中,設(shè)置動(dòng)態(tài)分區(qū)開(kāi)啟的參數(shù)為_(kāi)_______。答案:hive.exec.dynamic.partition=true37.數(shù)據(jù)倉(cāng)庫(kù)維度建模中,事實(shí)表通常包含________鍵和________度量。答案:外鍵、可加性38.在Elasticsearch集群中,默認(rèn)發(fā)現(xiàn)機(jī)制使用________協(xié)議。答案:ZenDiscovery(7.x之前)或SeedHosts(7.x之后)39.使用Sqoop導(dǎo)出Hive表到MySQL時(shí),參數(shù)________可指定更新已有數(shù)據(jù)。答案:updatemodeallowinsert40.在Scala中,惰性求值的關(guān)鍵字是________。答案:lazy四、簡(jiǎn)答題(每題10分,共30分)41.(開(kāi)放型)描述一次你參與的離線數(shù)倉(cāng)主題域建模過(guò)程,包括需求澄清、維度設(shè)計(jì)、事實(shí)表設(shè)計(jì)、ETL調(diào)度策略及遇到的挑戰(zhàn)與優(yōu)化。答案:1.需求澄清:與業(yè)務(wù)方確認(rèn)GMV、訂單、用戶、商品四大主題,明確分析粒度為訂單明細(xì)。2.維度設(shè)計(jì):采用星型模型,建立日期、用戶、商品、地區(qū)、促銷(xiāo)等維度表;日期維度采用雪花,其余保持扁平。3.事實(shí)表設(shè)計(jì):訂單明細(xì)事實(shí)表采用事務(wù)型,包含訂單ID、用戶ID、商品ID、地區(qū)ID、促銷(xiāo)ID、下單時(shí)間、支付時(shí)間、成交金額、折扣金額;加購(gòu)事實(shí)表采用周期快照,按小時(shí)累積。4.ETL調(diào)度:使用Airflow,日切02:00啟動(dòng),先執(zhí)行ODS層增量抽?。⊿qoop+DataX),再執(zhí)行DWD層清洗(SparkSQL),最后執(zhí)行DWS層匯總(ClickHouse物化視圖)。5.挑戰(zhàn)與優(yōu)化:a.數(shù)據(jù)傾斜:訂單表按user_id分布不均,采用兩階段聚合+加鹽key,Reduce端傾斜緩解70%。b.遲到數(shù)據(jù):支付回調(diào)延遲,采用FlinkCEP識(shí)別超時(shí)訂單,觸發(fā)側(cè)輸出流回寫(xiě),保證DWS指標(biāo)最終一致。c.存儲(chǔ)成本:ORC+ZSTD壓縮,平均壓縮比8:1,冷數(shù)據(jù)遷移S3Glacier,年省成本35%。42.(封閉型)說(shuō)明Spark3.xAdaptiveQueryExecution(AQE)的三大核心優(yōu)化點(diǎn),并給出每點(diǎn)的觸發(fā)條件與可量化收益。答案:1.動(dòng)態(tài)合并Shuffle分區(qū):當(dāng)運(yùn)行時(shí)統(tǒng)計(jì)的Map輸出大小連續(xù)小于spark.sql.adaptive.advisoryPartitionSizeInBytes(默認(rèn)64MB)時(shí),自動(dòng)合并相鄰小分區(qū);TPCDS1TB測(cè)試減少小文件2.3萬(wàn)個(gè),Job執(zhí)行時(shí)間縮短18%。2.動(dòng)態(tài)切換Join策略:當(dāng)某側(cè)Shuffle后實(shí)際大小小于spark.sql.autoBroadcastJoinThreshold(默認(rèn)10MB)時(shí),自動(dòng)將SortMergeJoin轉(zhuǎn)為BroadcastHashJoin;測(cè)試場(chǎng)景減少Shuffle讀2.4GB,執(zhí)行時(shí)間縮短42%。3.動(dòng)態(tài)優(yōu)化傾斜Join:當(dāng)檢測(cè)到某Reduce任務(wù)處理數(shù)據(jù)量超過(guò)中位數(shù)1.5倍且大于spark.sql.adaptive.skewJoin.skewedPartitionThresholdInBytes(默認(rèn)256MB)時(shí),自動(dòng)拆分傾斜分區(qū)并復(fù)制對(duì)應(yīng)Map輸出;TPCDSq14傾斜場(chǎng)景下,單Task執(zhí)行時(shí)間從8min降至1.2min,整體Stage縮短35%。43.(開(kāi)放型)某電商公司實(shí)時(shí)大屏需展示“最近1分鐘支付訂單金額”,要求延遲<3s、可容忍少量重復(fù)但不可漏計(jì)。請(qǐng)給出端到端技術(shù)選型、Flink作業(yè)設(shè)計(jì)、Exactlyonce保障、重復(fù)冪等處理方案。答案:1.技術(shù)選型:采集:Canal→Kafka(3副本,retention24h)計(jì)算:Flink1.16onKubernetes,RockDBStateBackend,Checkpoint10s,UnalignedCheckpoint存儲(chǔ):RedisCluster,Key=“minute:{floor_time/60}”,Value=SUM(amount),TTL300s大屏:WebSocket推送,前端輪詢Redis2.作業(yè)設(shè)計(jì):Source:KafkaTopicpay_success,并行度=KafkaPartition=12Watermark:BoundedOutOfOrderness2sWindow:Tumble1min,觸發(fā)器默認(rèn)Aggregate:Sum(amount)Sink:RedisLua腳本保證INCR原子3.Exactlyonce:Checkpoint屏障對(duì)齊使用Unaligned模式,KafkaProducer兩階段提交,transactional.id=jobName+timestampRedis采用HINCRBY+EXPIRE事務(wù)腳本,Checkpoint成功才提交外部事務(wù)4.重復(fù)冪等:訂單ID寫(xiě)入RedisSet,Key=“dedup:{orderId}”,TTL5min當(dāng)Set已存在時(shí),過(guò)濾該記錄;利用RedisClusterHashTag保證分片一致測(cè)試:模擬7%重復(fù),結(jié)果零漏計(jì),重復(fù)率<0.01%,端到端延遲P992.3s五、應(yīng)用題(共60分)44.(計(jì)算類(lèi),15分)給定訂單表orders(order_id,user_id,amount,pay_time)10億行,存儲(chǔ)于HDFSORC格式,壓縮后大小120GB?,F(xiàn)需計(jì)算每日GMV及付費(fèi)用戶數(shù),要求輸出結(jié)果<1GB,執(zhí)行時(shí)間<5min。集群資源:YARN隊(duì)列最大400VCore、1.2TB內(nèi)存。請(qǐng)給出:(1)SparkSQL物理計(jì)劃關(guān)鍵參數(shù);(2)預(yù)估并行度;(3)Shuffle讀寫(xiě)字節(jié)估值;(4)判斷資源是否足夠并給出調(diào)優(yōu)清單。答案:(1)參數(shù):spark.sql.shuffle.partitions=800spark.executor.cores=4spark.executor.memory=12gspark.executor.memoryOverhead=2gspark.dynamicAllocation.enabled=truespark.dynamicAllocation.maxExecutors=100(2)并行度:Input120GB,ORCStripe平均256MB→約480個(gè)Split,設(shè)置800分區(qū),MapTask800,ReduceTask800(3)Shuffle估值:Map端輸出:每日聚合后Key=日期,約365天;每行20B,365×(8+8+4)≈7KB,Map輸出7KB×800=5.6MB實(shí)際帶哈希表膨脹,按10倍估算56MB;ShuffleWrite≈56MB,ShuffleRead相同(4)資源判斷:Executor100×(12+2)=1.4GB內(nèi)存,小于隊(duì)列1.2TB;VCore100×4=400,等于上限調(diào)優(yōu):?jiǎn)⒂肁QE,將spark.sql.adaptive.coalescePartitions.enabled=true,最小分區(qū)設(shè)為1,避免小文件;啟用ZSTD壓縮,CPU增加8%,但Shuffle減少25%,執(zhí)行時(shí)間測(cè)試3.2min,滿足SLA45.(分析類(lèi),15分)某日志文件每行JSON,大小2TB,格式:{"uid":"u001","event":"click","ts":1680000001000,"attrs":{"pid":"p123","price":9.9}}需求:統(tǒng)計(jì)每個(gè)商品近7天日均點(diǎn)擊量,并找出下降幅度最大的Top100商品。要求代碼可維護(hù)、可測(cè)試。答案:1.模型:caseclassLog(uid:String,event:String,ts:Long,attrs:Map[String,String])caseclassAgg(pid:String,date:String,cnt:Long)2.步驟:(1)FlinkBatchEnvironment,讀S3→TextInputFormat→map→JsonParse(2)filterevent=click,projectpid,ts→date(3)keyBy(pid,date)→windowTumble1day→aggregatecnt(4)寫(xiě)中間結(jié)果ClickHouse表click_daily(pidString,dateDate,cntUInt64)(5)SQL:WITHlast7AS(SELECTpid,avg(cnt)ASavg_7dFROMclick_dailyWHEREdateBETWEENtoday()7ANDtoday()1GROUPBYpid),prev7AS(SELECTpid,avg(cnt)ASavg_prev7FROMclick_dailyWHEREdateBETWEENtoday()14ANDtoday()8GROUPBYpid)SELECTl.pid,(p.avg_prev7l.avg_7d)/nullif(p.avg_prev7,0)ASdrop_ratioFROMlast7lJOINprev7pUSING(pid)ORDERBYdrop_ratioDESCLIMIT100;3.可測(cè)試:(1)單元測(cè)試:使用ScalaTest+FlinkMiniCluster,注入1000條樣本,驗(yàn)證輸出Cnt正確(2)集成測(cè)試:構(gòu)造兩張分區(qū)表,驗(yàn)證Top100排序正確46.(綜合類(lèi),30分)背景:某運(yùn)營(yíng)商每日產(chǎn)生話單500億條,原始大小4PB,保存90天。需求:1.支持用戶詳單查詢(<2s返回最近7天);2.支持每日收入批價(jià)匯總;3.支持實(shí)時(shí)欺詐檢測(cè)(延遲<500ms)。請(qǐng)給出整體架構(gòu)、存儲(chǔ)選型、數(shù)據(jù)模型、ETL流程、索引設(shè)計(jì)、計(jì)算框架、容災(zāi)方案、成本估算。答案:1.架構(gòu):采集層:gNMI→Kafka3.0集群(12Broker,機(jī)架感知)存儲(chǔ)層:冷數(shù)據(jù):HDFS3.xEC6+3,單盤(pán)16TB,節(jié)點(diǎn)12×16×0.7≈134TB,需30節(jié)點(diǎn)熱數(shù)據(jù):ClickHouse21.8集群,雙副本,Shard12×2=24節(jié)點(diǎn),每節(jié)點(diǎn)內(nèi)存192GB,NVMe8×4TB計(jì)算層:批價(jià):Spark3.3onYARN,每日00:30啟動(dòng),CPU800Core,內(nèi)存3TB實(shí)時(shí):Flink1.16onKubernetes,TaskManager64slot,CheckpointtoHDFS查詢層:詳單:ClickHouseMergeTree+PARTITIONBYtoYYYYMMDD(event_time)+ORDERBY(user_id,event_time)匯總:ClickHouseSummingMergeTree欺詐:FlinkCEP→Kafka→Redis告警2.數(shù)據(jù)模型:詳單表cdr(user_idUInt64,call_timeDateTime,called_numberString,durationUInt32,feeFloat64)匯總表cdr_daily(user_idUInt64,fee_dateDate,total_feeFloat64)3.ETL:(1)實(shí)時(shí):Flink消費(fèi)Kafka,解析ASN.1,過(guò)濾字段20→寫(xiě)ClickHouse熱分區(qū)(2)離線:Spark讀HDFS冷分區(qū),按user_id重分區(qū),批價(jià)規(guī)則UDF,寫(xiě)匯總表4.索引:ClickHouse二級(jí)索引:INDEXidx_called(called_number,TYPEbloom_filter,GRANULARITY2)查詢
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年江蘇省徐州市中考物理真題卷含答案解析
- 倉(cāng)庫(kù)三級(jí)安全培訓(xùn)試題(附答案)
- 2025年煤礦全員復(fù)工復(fù)產(chǎn)培訓(xùn)考試題庫(kù)及答案
- 幼兒園食堂食品安全管理制度
- 游泳池突發(fā)公共衛(wèi)生事件應(yīng)急救援預(yù)案
- 年度個(gè)人年終工作總結(jié)模板及范文
- 建筑公司三級(jí)安全教育考試題(附答案)
- 2025年鄉(xiāng)村醫(yī)生年度工作總結(jié)例文(二篇)
- 名中醫(yī)工作室工作制度
- 建筑幕墻工程糾紛專用!建設(shè)工程施工合同糾紛要素式起訴狀模板
- 2026年食品安全員培訓(xùn)考試模擬題庫(kù)及解析答案
- 道路交通反違章培訓(xùn)課件
- 2026年電商直播主播簽約協(xié)議
- 遼寧省建筑工程施工品質(zhì)標(biāo)準(zhǔn)化指導(dǎo)圖集(可編輯經(jīng)典版)
- 2026年中化地質(zhì)礦山總局浙江地質(zhì)勘查院招聘?jìng)淇碱}庫(kù)及1套完整答案詳解
- 護(hù)理部年度述職報(bào)告
- 2026年高考全國(guó)一卷英語(yǔ)真題試卷(新課標(biāo)卷)(+答案)
- 湖南名校聯(lián)考聯(lián)合體2026屆高三年級(jí)1月聯(lián)考數(shù)學(xué)試卷+答案
- 山東省煙臺(tái)市芝罘區(qū)2024-2025學(xué)年三年級(jí)上學(xué)期期末數(shù)學(xué)試題
- 別墅澆筑施工方案(3篇)
- 2025年度安全生產(chǎn)工作述職報(bào)告
評(píng)論
0/150
提交評(píng)論