2025年大數(shù)據(jù)技術(shù)的試題及答案_第1頁(yè)
2025年大數(shù)據(jù)技術(shù)的試題及答案_第2頁(yè)
2025年大數(shù)據(jù)技術(shù)的試題及答案_第3頁(yè)
2025年大數(shù)據(jù)技術(shù)的試題及答案_第4頁(yè)
2025年大數(shù)據(jù)技術(shù)的試題及答案_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(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ù)技術(shù)的試題及答案一、單項(xiàng)選擇題(每題2分,共20分)1.在Hadoop生態(tài)中,負(fù)責(zé)資源管理與任務(wù)調(diào)度的組件是A.HDFS??B.YARN??C.MapReduce??D.Hive答案:B2.下列哪一項(xiàng)不是Kafka的核心概念A(yù).Topic??B.Partition??C.Segment??D.Container答案:D3.SparkSQL中,用于將DataFrame注冊(cè)為臨時(shí)視圖的API是A.cache()??B.persist()??C.createOrReplaceTempView()??D.register()答案:C4.在Flink的時(shí)間語(yǔ)義中,EventTime依賴于哪一類(lèi)機(jī)制保證亂序數(shù)據(jù)正確性A.Checkpoint??B.Watermark??C.State??D.Slot答案:B5.HBase中,用于定位Region的關(guān)鍵元數(shù)據(jù)表名稱(chēng)是A..meta.??B.ROOT??C.hbase:meta??D.zookeeper答案:C6.在數(shù)據(jù)湖架構(gòu)中,提供ACID語(yǔ)義并支持行級(jí)更新的開(kāi)源格式是A.Parquet??B.ORC??C.DeltaLake??D.Avro答案:C7.若某電商網(wǎng)站日活用戶數(shù)為2000萬(wàn),平均每人產(chǎn)生200條行為日志,每條日志約0.5KB,則每日原始數(shù)據(jù)量約為A.1TB??B.2TB??C.3TB??D.4TB答案:B解析:2000萬(wàn)×200×0.5KB≈2000萬(wàn)×100KB≈2TB8.在數(shù)據(jù)倉(cāng)庫(kù)建模中,星型模型與雪花模型的主要區(qū)別是A.是否使用代理鍵??B.是否存在規(guī)范化維度表??C.是否支持增量更新??D.是否支持物化視圖答案:B9.使用SparkMLlib訓(xùn)練邏輯回歸模型時(shí),默認(rèn)的正則化方式是A.L0??B.L1??C.L2??D.ElasticNet答案:C10.在ClickHouse中,最適合做高基數(shù)去重且內(nèi)存占用可控的函數(shù)是A.uniq()??B.uniqCombined()??C.uniqExact()??D.uniqHLL12()答案:B二、多項(xiàng)選擇題(每題3分,共15分;多選少選均不得分)11.以下哪些操作會(huì)觸發(fā)Spark的ShuffleA.reduceByKey??B.groupByKey??C.map??D.join答案:A、B、D12.關(guān)于HiveonSpark與HiveonTez,下列說(shuō)法正確的有A.均使用YARN作為資源管理器??B.均支持向量化執(zhí)行??C.均支持動(dòng)態(tài)分區(qū)裁剪??D.均使用MapReduce作為執(zhí)行引擎答案:A、C13.在Flink中,以下哪些StateBackend支持異步快照A.MemoryStateBackend??B.FsStateBackend??C.RocksDBStateBackend??D.HeapStateBackend答案:B、C14.關(guān)于數(shù)據(jù)傾斜,下列緩解策略有效的有A.兩階段聚合??B.加鹽再聚合??C.提高并行度??D.使用隨機(jī)前綴擴(kuò)容答案:A、B、C、D15.以下哪些組件支持ExactlyOnce語(yǔ)義A.KafkaProducer(enable.idempotence=true)??B.FlinkwithCheckpoint??C.SparkStreamingwithWAL??D.Storm1.xwithACK機(jī)制答案:A、B三、填空題(每空2分,共20分)16.HDFS默認(rèn)塊大小為_(kāi)_______MB,在Hadoop3.x中可配置最大到________MB。答案:128;51217.Spark中,一個(gè)Job可包含多個(gè)________,一個(gè)________可包含多個(gè)Task。答案:Stage;Stage18.Kafka的Consumer采用________模型,每個(gè)ConsumerGroup獨(dú)立維護(hù)________。答案:發(fā)布訂閱;Offset19.在ClickHouse的MergeTree引擎中,數(shù)據(jù)按________排序,________用于并發(fā)控制。答案:主鍵;分區(qū)鍵20.若某列式存儲(chǔ)文件采用Snappy壓縮,壓縮率約4:1,則100GB原始數(shù)據(jù)壓縮后大小約為_(kāi)_______GB,讀取時(shí)需________GB網(wǎng)絡(luò)傳輸。答案:25;25四、判斷題(每題1分,共10分;正確打“√”,錯(cuò)誤打“×”)21.Spark的RDD一旦創(chuàng)建便不可變。答案:√22.HBase中,刪除操作會(huì)立即釋放磁盤(pán)空間。答案:×23.Flink的Checkpoint屏障是廣播給所有下游算子的。答案:√24.ORC文件格式支持謂詞下推,但Parquet不支持。答案:×25.Kafka的Partition副本數(shù)可以大于Broker數(shù)。答案:×26.在數(shù)據(jù)倉(cāng)庫(kù)中,事實(shí)表的外鍵必須對(duì)應(yīng)維度表的主鍵。答案:√27.SparkSQL的窗口函數(shù)over()子句中必須顯式指定partitionby。答案:×28.ClickHouse的Distributed表引擎本身不存儲(chǔ)數(shù)據(jù),僅做查詢路由。答案:√29.使用HiveLLAP可以提高交互式查詢性能。答案:√30.在DeltaLake中,TimeTravel功能依賴版本號(hào)或時(shí)間戳。答案:√五、簡(jiǎn)答題(封閉型,每題6分,共18分)31.簡(jiǎn)述MapReduce中Combiner的作用及使用條件。答案:Combiner是本地端的Reducer,用于在Map端先做一次局部聚合,減少Shuffle數(shù)據(jù)量;使用條件:聚合函數(shù)必須滿足交換律與結(jié)合律,如sum、max,且不影響最終業(yè)務(wù)邏輯。32.寫(xiě)出Spark中緩存RDD到內(nèi)存并設(shè)置序列化存儲(chǔ)的代碼片段(Python或Scala均可)。答案(Python):rdd.persist(StorageLevel.MEMORY_ONLY_SER)33.說(shuō)明Flink的Checkpoint與Savepoint的三點(diǎn)區(qū)別。答案:1.Checkpoint由Flink自動(dòng)觸發(fā),Savepoint需手動(dòng)觸發(fā);2.Checkpoint格式與實(shí)現(xiàn)可能隨版本升級(jí)變化,Savepoint保證兼容性;3.Checkpoint用于故障恢復(fù),Savepoint用于計(jì)劃內(nèi)的版本回滾或遷移。六、簡(jiǎn)答題(開(kāi)放型,每題10分,共20分)34.某視頻平臺(tái)每日新增播放日志約10TB,需實(shí)時(shí)統(tǒng)計(jì)過(guò)去5分鐘各頻道同時(shí)在線人數(shù),請(qǐng)給出技術(shù)選型與核心實(shí)現(xiàn)思路,并說(shuō)明如何保障端到端ExactlyOnce。答案要點(diǎn):技術(shù)選型:Kafka+Flink+Redis+Prometheus;實(shí)現(xiàn):Kafka按頻道分區(qū),F(xiàn)link消費(fèi)后按頻道keyBy,使用MapState維護(hù)用戶心跳時(shí)間戳,設(shè)置5分鐘滑動(dòng)窗口,窗口觸發(fā)時(shí)過(guò)濾心跳在窗口內(nèi)的用戶并計(jì)數(shù);ExactlyOnce:KafkaProducer開(kāi)啟冪等,F(xiàn)link開(kāi)啟Checkpoint并配置ExactlyOnce模式,使用TwoPhaseCommitSink將結(jié)果寫(xiě)入Redis,Checkpoint完成后再提交外部事務(wù);監(jiān)控:Prometheus采集Checkpoint指標(biāo),失敗即告警。35.某電商公司原有離線數(shù)倉(cāng)基于Hive,查詢延遲分鐘級(jí),現(xiàn)需升級(jí)為近實(shí)時(shí)數(shù)倉(cāng),要求查詢延遲降至秒級(jí),請(qǐng)給出遷移方案,包括數(shù)據(jù)鏈路、存儲(chǔ)格式、計(jì)算引擎及回滾策略。答案要點(diǎn):鏈路:CDC工具(Debezium)→Kafka→Flink→Iceberg;存儲(chǔ):Iceberg表格式提供ACID與增量讀取,底層Parquet列存;計(jì)算:Flink做ETL與維度打?qū)挘琍resto/Trino做交互查詢;回滾:保留原有Hive表,雙寫(xiě)一周,對(duì)比數(shù)據(jù)一致性后切換流量,若異常通過(guò)DNS切回HiveGateway。七、應(yīng)用題(計(jì)算類(lèi),12分)36.某Spark任務(wù)讀取HDFS上1000個(gè)128MB塊文件,集群共20臺(tái)NodeManager,每臺(tái)配置8vCore、32GB內(nèi)存,SparkExecutor申請(qǐng)4vCore、12GB,默認(rèn)并行度200。(1)求可同時(shí)運(yùn)行的Executor數(shù);(2)若每個(gè)Executor處理5個(gè)MapTask,計(jì)算理論最大并行MapTask數(shù);(3)若每個(gè)Task平均耗時(shí)45秒,求總?cè)蝿?wù)理論最短完成時(shí)間。答案:(1)每臺(tái)機(jī)器可啟動(dòng)floor(32/12)=2Executor,共20×2=40Executor;(2)40Executor×5Task=200Task,與默認(rèn)并行度一致;(3)1000Task÷200并行度=5批,45秒×5=225秒=3分45秒。八、應(yīng)用題(分析類(lèi),13分)37.給定用戶行為表user_action(user_id,item_id,action,ts),其中action∈{'view','buy','cart'},數(shù)據(jù)量每日100億條,存儲(chǔ)于Hive分區(qū)表,分區(qū)字段為dt。業(yè)務(wù)方需頻繁查詢“昨日加購(gòu)且7日內(nèi)購(gòu)買(mǎi)”的用戶數(shù)。(1)指出原始SQL性能瓶頸;(2)設(shè)計(jì)物化視圖或中間表方案,給出表結(jié)構(gòu)、分區(qū)策略、更新周期;(3)估算方案可帶來(lái)的查詢耗時(shí)下降比例,并說(shuō)明依據(jù)。答案:(1)瓶頸:每次需對(duì)7日分區(qū)做全表掃描并關(guān)聯(lián),數(shù)據(jù)量700億行,Shuffle巨大;(2)方案:創(chuàng)建中間表user_cart_buy_agg,字段(user_id,cart_date,buy_date,flag),分區(qū)字段cart_date,每日增量更新:取當(dāng)日cart用戶,與近7日buy數(shù)據(jù)關(guān)聯(lián),若匹配則flag=1;更新周期每日凌晨;(3)原查詢耗時(shí)約800秒,物化后僅掃描昨日分區(qū)約100億行,且無(wú)需關(guān)聯(lián),耗時(shí)約60秒,下降比例≈(80060)/800=92.5%。九、應(yīng)用題(綜合類(lèi),20分)38.某市交通管理局?jǐn)M構(gòu)建“智慧信號(hào)燈”系統(tǒng),需融合多源數(shù)據(jù):A.高德實(shí)時(shí)路況API,30秒推送一次,含路段速度、擁堵指數(shù);B.市內(nèi)8000路視頻檢測(cè)器,每10秒輸出車(chē)道流量、平均車(chē)速;C.出租車(chē)GPS2萬(wàn)臺(tái),每5秒上報(bào)位置、速度、載客狀態(tài);D.地鐵閘機(jī)刷卡數(shù)據(jù),每1分鐘批量文件,含卡ID、站點(diǎn)、時(shí)間。系統(tǒng)需實(shí)現(xiàn):(1)實(shí)時(shí)計(jì)算每條道路未來(lái)5分鐘流量預(yù)測(cè)值;(2)離線分析每月早晚高峰擁堵演化規(guī)律;(3)提供交互式查詢接口,支持按路段、時(shí)間段下鉆,響應(yīng)時(shí)間<3秒;(4)保證數(shù)據(jù)安全合規(guī),敏感信息脫敏。請(qǐng)給出整體架構(gòu)圖(文字描述),說(shuō)明各層組件、數(shù)據(jù)格式、關(guān)鍵技術(shù)選型,并闡述如何滿足實(shí)時(shí)性、可擴(kuò)展性、安全合規(guī)三項(xiàng)要求。答案:架構(gòu)描述:1.采集層:A.路況API→RESTfulPull→Flume→KafkaTopictraffic_api;B.視頻檢測(cè)器→MQTTBroker→NiFi→KafkaTopicvideo_stream;C.出租車(chē)GPS→NettyUDPServer→KafkaTopicgps_raw;D.地鐵閘機(jī)→SFTP批量→SparkStreaming→KafkaTopicsubway;2.實(shí)時(shí)層:Flink集群消費(fèi)Kafka,使用CEP識(shí)別異常擁堵,用LSTM模型(TensorFlowSavedModel)做5分鐘流量預(yù)測(cè),結(jié)果寫(xiě)回KafkaTopicforecast,再通過(guò)FlinkSQL下沉到Druid;3.離線層:每日凌晨SparkBatch將Kafka數(shù)據(jù)落Iceberg分區(qū)表,Parquet格式,按路段+日期分區(qū);使用SparkMLlib訓(xùn)練梯度提升樹(shù)模型,輸出月度擁堵報(bào)告;4.服務(wù)層:Druid提供亞秒級(jí)聚合查詢,Presto對(duì)接Iceberg做明細(xì)下鉆,SpringBoot封裝REST接口,前端Vue+ECharts;5.安全合規(guī):卡ID、車(chē)牌號(hào)采用SHA256加鹽哈希,Kafka開(kāi)啟SASL/SCRAM,網(wǎng)絡(luò)層通過(guò)IPS/IDS,數(shù)據(jù)分級(jí)(公共、內(nèi)部、機(jī)密),機(jī)密字段落盤(pán)AES256加密,密鑰托管于HSM;6.可擴(kuò)展:Kafka按路段分區(qū),支持水平擴(kuò)展;Flink使用RocksDBStateBackend,Checkpoint到HDFS,可擴(kuò)展至千級(jí)別TaskManager;Druid采用滾動(dòng)升級(jí),Iceberg支持原地表進(jìn)化;7.實(shí)時(shí)性:端對(duì)端延遲<30秒,滿足5分鐘預(yù)測(cè);8.總結(jié):通過(guò)Kafka+Flink+Iceberg+Druid組合,兼顧實(shí)時(shí)、離線、交互式三大場(chǎng)景,安全合規(guī)通過(guò)加密、脫敏、鑒權(quán)三層保障,可擴(kuò)展性由分布式存儲(chǔ)與計(jì)算共同提供。十、編程題(20分)39.使用PySpark完成以下需求:輸入:HDFS目錄/user/log/20250601,存儲(chǔ)用戶點(diǎn)擊日志,Parquet格式,字段(user_id:string,item_id:string,ts:long,action:string)。要求:(1)過(guò)濾action='click'且ts介于2025060100:00:00至2025060101:00:00之間的記錄;(2)按user_id分組,計(jì)算每人該小時(shí)內(nèi)點(diǎn)擊次數(shù),取Top100用戶;(3)將結(jié)果寫(xiě)入MySQL表top_user_1h(user_id,click_cnt),采用批量寫(xiě)入,批次大小10000;(4)代碼需含注釋?zhuān)⒔o出提交命令。答案:```pythonfrompyspark.sqlimportSparkSessionfrompyspark.sql.functionsimportcountimportosspark=SparkSession.builder\.appName("TopUser1h")\.getOrCreate()1.讀取數(shù)據(jù)df=spark.read.parquet("/user/log/20250601")2.時(shí)間轉(zhuǎn)換與過(guò)濾start_ts=16250976002025060100:00:00end

溫馨提示

  • 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)論