版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
2026年大數(shù)據(jù)工程師新員工崗位專業(yè)知識筆試題目及答案一、單項選擇題(每題2分,共30分)1.在Hadoop3.x中,下列哪項參數(shù)直接決定了NameNode內(nèi)存占用的上限?A.node.handler.countB.dfs.block.sizeC.node.max.memory.blocksD.erval答案:C解析:node.max.memory.blocks控制NameNode可加載到內(nèi)存的塊數(shù),塊數(shù)越多,內(nèi)存占用越高。2.Spark3.4中,若使用AdaptiveQueryExecution(AQE)自動優(yōu)化Join策略,需開啟哪一項配置?A.spark.sql.adaptive.coalescePartitions.enabledB.spark.sql.adaptive.enabledC.spark.sql.join.preferSortMergeJoinD.spark.sql.execution.arrow.pyspark.enabled答案:B解析:spark.sql.adaptive.enabled是AQE總開關(guān),關(guān)閉則所有子功能失效。3.Flink1.17的exactly-once語義依賴以下哪項機制實現(xiàn)端到端一致性?A.Checkpoint+TwoPhaseCommitSinkB.Savepoint+AsyncSnapshotC.Event-timeWindow+allowedLatenessD.StateTTL+incrementalcleanup答案:A解析:TwoPhaseCommitSink在Checkpoint完成時預提交外部系統(tǒng)事務,失敗可回滾,保證exactly-once。4.在Kafka3.5中,若topic分區(qū)副本數(shù)為5,min.insync.replicas=3,acks=all,當ISR列表只剩2個副本時,生產(chǎn)者會?A.繼續(xù)寫入成功B.拋出NotLeaderOrFollowerExceptionC.拋出TimeoutExceptionD.返回寫入成功但數(shù)據(jù)可能丟失答案:B解析:ISR少于min.insync.replicas,broker拒絕寫入,客戶端收到NotLeaderOrFollowerException。5.使用DeltaLake2.4時,哪條SQL可立即清理掉歷史版本并釋放存儲空間?A.VACUUMtable_nameRETAIN0HOURSB.VACUUMtable_nameRETAIN168HOURSC.DELETEFROMtable_nameWHEREversion<5D.REFRESHTABLEtable_name答案:B解析:VACUUM默認保留7天(168小時),小于該值會報錯,必須≥168小時才能執(zhí)行。6.Hudi0.14的COW表在一次upsert中生成的基礎文件格式是?A.ORCB.ParquetC.AvroD.JSON答案:B解析:COW(CopyOnWrite)在寫入時復制并合并Parquet文件,保證列存性能。7.某Hive表使用Tez引擎,設置tez.grouping.max-size=256MB,tez.grouping.min-size=50MB,輸入目錄下文件平均30MB,則實際Map任務數(shù)最接近?A.與文件數(shù)相同B.文件數(shù)/2C.文件數(shù)/8D.文件數(shù)/4答案:D解析:Tez按max-size切分,30MB文件會被合并,256/30≈8,故任務數(shù)≈文件數(shù)/8,但考慮min-size,最終接近1/4。8.ClickHouse23.5中,MergeTree表按dt分區(qū),按id哈希分片,執(zhí)行SELECTcount()FROMtableWHEREdt='2026-06-01'ANDcity='shanghai',下列說法正確的是?A.僅掃描dt分區(qū)B.僅掃描city列C.先按dt裁剪分區(qū),再按city過濾D.需要全表掃描答案:C解析:MergeTree先根據(jù)分區(qū)鍵dt裁剪,再根據(jù)主鍵或列級索引過濾city。9.在Airflow2.8中,若某DAG的max_active_runs=1,concurrency=3,則同一時刻最多可運行幾個task實例?A.1B.3C.9D.無限制答案:B解析:max_active_runs限制DAG運行次數(shù),concurrency限制同一DAG內(nèi)并發(fā)task數(shù),故為3。10.使用Presto0.28查詢Iceberg表時,若要讀取2026年6月1日快照,應使用?A.FORSYSTEM_TIMEASOFTIMESTAMP'2026-06-0100:00:00'B.VERSIONASOF1C.SNAPSHOTID'12345'D.ASOF'2026-06-01'答案:A解析:Iceberg支持時間旅行語法,Presto使用FORSYSTEM_TIMEASOF。11.某Elasticsearch8.11集群寫入出現(xiàn)429拒絕,最優(yōu)先應調(diào)整?A.indices.memory.index_buffer_sizeB.thread_pool.write.queue_sizeC.cluster.routing.allocation.disk.threshold_enabledD.search.max_buckets答案:B解析:429多為寫入隊列滿,增大thread_pool.write.queue_size可緩解。12.在Scala2.13的Spark應用中,使用Dataset.joinWith后返回的數(shù)據(jù)類型是?A.(T,U)B.RowC.(T,Option[U])D.(T,U,Boolean)答案:A解析:joinWith返回Tuple2,左右兩邊Dataset的強類型元組。13.某數(shù)據(jù)倉庫采用星型模型,事實表100億行,維度表平均1千萬行,使用Bitmap索引的最佳場景是?A.低基數(shù)維度列B.高基數(shù)主鍵列C.連續(xù)度量值列D.文本備注列答案:A解析:Bitmap適合低基數(shù)列,如性別、狀態(tài),可大幅壓縮位圖。14.在Python3.11的PySpark作業(yè)中,若使用pandas_api(),底層執(zhí)行引擎實際是?A.PandasB.PySparkCatalystC.ArrowFlightD.Photon答案:B解析:pandas_api()將Pandas語法映射到Catalyst優(yōu)化器,仍走Spark引擎。15.某企業(yè)使用數(shù)據(jù)湖倉一體架構(gòu),將ODS層數(shù)據(jù)保存為Iceberg表,DWD層保存為Hudi表,若想實現(xiàn)ODS→DWD的流式增量,最佳工具是?A.SqoopB.FlinkCDCC.DataXD.SparkBatch答案:B解析:FlinkCDC可捕獲ODSIceberg的changelog并實時寫入Hudi。二、多項選擇題(每題3分,共30分)16.關(guān)于Spark3.4的DynamicPartitionPruning(DPP),下列說法正確的是?A.需要star-schema檢測B.支持BucketJoinC.可在運行時生成分區(qū)過濾器D.對非分區(qū)列無效E.需開啟spark.sql.dynamicPartitionPruning.enabled答案:A、C、E解析:DPP依賴星型檢測與運行時廣播,自動生成分區(qū)過濾器,開關(guān)默認開啟。17.在Flink1.17中,以下哪些statebackend支持異步快照?A.HashMapStateBackendB.EmbeddedRocksDBStateBackendC.FsStateBackendD.MemoryStateBackendE.ChangelogStateBackend答案:B、E解析:RocksDB與Changelog均支持異步快照,減少TaskManager阻塞。18.使用Trino423查詢Hive表時,下列哪些操作會觸發(fā)文件列表緩存失效?A.MSCKREPAIRTABLEB.ALTERTABLEADDPARTITIONC.REFRESHMETADATAD.ANALYZETABLEE.DROPPARTITION答案:A、B、C、E解析:以上操作均改變元數(shù)據(jù)或分區(qū)列表,緩存失效。19.關(guān)于KafkaTopic的LeaderElection,下列哪些情況會觸發(fā)?A.Broker宕機B.手動reassignpartitionC.新增preferredleaderD.分區(qū)副本擴容E.消費者組重平衡答案:A、B、C、D解析:消費者組重平衡與LeaderElection無關(guān)。20.在DeltaLake中,以下哪些操作會生成新的DeltaLogJSON文件?A.INSERTB.UPDATEC.OPTIMIZED.CLONEE.DESCRIBEHISTORY答案:A、B、C、D解析:DESCRIBEHISTORY只讀,不寫DeltaLog。21.使用Airflow2.8的TaskFlowAPI,下列哪些裝飾器參數(shù)可實現(xiàn)任務重試?A.retry_delayB.retriesC.retry_exponential_backoffD.max_retry_delayE.pool答案:A、B、C、D解析:pool用于資源池,與重試無關(guān)。22.在Elasticsearch8.11中,以下哪些設置可降低集群寫入壓力?A.index.refresh_interval=30sB.index.translog.durability=asyncC.index.number_of_replicas=0D.indices.store.throttle.type=mergeE.cluster.routing.allocation.cluster_concurrent_rebalance=2答案:A、B、C解析:D、E與寫入吞吐無直接關(guān)系。23.關(guān)于Snowflake的Micro-partition,下列說法正確的是?A.不可變B.默認16MB壓縮大小C.按自然順序存儲D.支持自動ClusteringE.可手動合并答案:A、B、D解析:Micro-partition按列壓縮存儲,非自然順序,不可手動合并。24.在SparkStructuredStreaming中,以下哪些sink支持exactly-once?A.ConsoleB.KafkaC.HDFSD.ElasticsearchE.ForeachBatch+DeltaLake答案:B、E解析:Kafka通過事務實現(xiàn),Delta通過冪等寫實現(xiàn)。25.使用Hudi0.14的Mor表進行讀優(yōu)化查詢時,下列哪些文件會被掃描?A.basefileB.logfileC.indexfileD.compactionplanE.commitmetadata答案:A解析:讀優(yōu)化僅合并后的basefile,不讀log。三、判斷題(每題1分,共10分)26.Spark3.4的AQE可以在運行時自動將SortMergeJoin轉(zhuǎn)換為BroadcastHashJoin。答案:正確解析:AQE根據(jù)運行時統(tǒng)計自動選擇更優(yōu)Join策略。27.Flink的Checkpoint屏障對齊機制會導致反壓時延遲增加。答案:正確解析:對齊需等待所有輸入通道到達屏障,反壓時延遲上升。28.DeltaLake的Z-ORDER優(yōu)化可以替代傳統(tǒng)的分區(qū)裁剪。答案:錯誤解析:Z-ORDER是文件級聚簇,無法完全替代分區(qū)裁剪。29.Kafka的LogCompaction會刪除所有value為null的消息。答案:錯誤解析:LogCompaction保留最新null作為墓碑,不立即刪除。30.ClickHouse的MaterializedView寫入時,原表與視圖數(shù)據(jù)強一致。答案:錯誤解析:MaterializedView異步插入,非強一致。31.Airflow的Sensor若設置mode='reschedule',會釋放workerslot。答案:正確解析:reschedule模式將sensor任務掛起,讓出slot。32.Elasticsearch的doc_values啟用后,會對text類型字段生效。答案:錯誤解析:text類型默認關(guān)閉doc_values,需keyword子字段。33.Hudi的Bootstrap操作可將現(xiàn)有Parquet表快速導入為Hudi表,無需重寫數(shù)據(jù)。答案:正確解析:Bootstrap僅生成metadata,指向原文件。34.Presto的Cost-BasedOptimizer會利用列級統(tǒng)計信息估算Join代價。答案:正確解析:CBO依賴統(tǒng)計信息計算基數(shù)與代價。35.Snowflake的TimeTravel保留期可針對單個表設置不同值。答案:錯誤解析:TimeTravel保留期在賬戶或數(shù)據(jù)庫級統(tǒng)一配置。四、填空題(每空2分,共20分)36.在Spark3.4中,將DataFrame寫入Hive分區(qū)表并動態(tài)覆蓋最近7天分區(qū),應使用模式__________并設置__________。答案:overwrite,spark.sql.sources.partitionOverwriteMode=dynamic37.Flink1.17的TableAPI中,聲明事件時間屬性需在DDL后加__________子句。答案:WATERMARKFORrowtime_columnASrowtime_column-INTERVAL'5'SECOND38.Kafka3.5的__consumer_offsets主題默認分區(qū)數(shù)為__________。答案:5039.DeltaLake的checkpoint文件格式為__________壓縮的Parquet。答案:SNAPPY40.ClickHouse的MergeTree引擎中,__________參數(shù)控制后臺合并線程數(shù)。答案:background_pool_size41.Airflow2.8的XCom默認序列化器為__________,最大存儲__________字節(jié)。答案:JSON,4800042.Elasticsearch8.11的ilm策略中,__________動作可將索引遷移到冷節(jié)點。答案:allocate43.Hudi的compaction計劃文件保存在__________目錄下。答案:.hoodie44.Presto0.28中,__________函數(shù)可將JSON字符串轉(zhuǎn)為MAP(VARCHAR,JSON)。答案:json_parse45.Snowflake的QueryAccelerationService通過__________技術(shù)自動加速重復掃描。答案:ResultCache五、簡答題(每題10分,共30分)46.描述Spark3.4在AdaptiveQueryExecution框架下,如何自動優(yōu)化傾斜Join,并給出觸發(fā)條件與調(diào)優(yōu)參數(shù)。答案:AQE通過運行時統(tǒng)計檢測傾斜分區(qū),當某分區(qū)大小超過spark.sql.adaptive.skewJoin.skewedPartitionThresholdInBytes(默認256MB)且大于中位數(shù)N倍(spark.sql.adaptive.skewJoin.skewedPartitionFactor,默認5)時,自動將SortMergeJoin拆分為多個smallertasks,并對傾斜分區(qū)采用隨機前綴擴容方式重新分發(fā)。調(diào)優(yōu)參數(shù)包括:spark.sql.adaptive.enabled=truespark.sql.adaptive.skewJoin.enabled=truespark.sql.adaptive.skewJoin.skewedPartitionThresholdInBytes=512MBspark.sql.adaptive.skewJoin.skewedPartitionFactor=3拆分后,每個小任務處理部分數(shù)據(jù),避免長尾,整體Stage耗時下降30%-70%。47.某電商公司使用Flink1.17實時計算GMV,數(shù)據(jù)源為Kafka,要求端到端exactly-once,請給出完整的checkpoint與兩階段提交配置,并說明如何驗證一致性。答案:1.環(huán)境配置execution.checkpointing.mode=EXACTLY_ONCEerval=30sexecution.checkpointing.min-pause=10sexecution.checkpointing.timeout=10minstate.backend=rocksdbstate.checkpoints.dir=hdfs://ns/flink/checkpointsstate.backend.incremental=truerestart-strategy=fixed-delay,attempts=3,delay=10s2.KafkaSink配置delivery.guarantee=EXACTLY_ONCEtransactional.id.prefix=gmv-${}sink.transaction-commit-delay=30s3.兩階段提交實現(xiàn)TwoPhaseCommitSinkFunction,預提交階段將結(jié)果寫入Kafka事務,notifyCheckpointComplete時正式commit;若checkpoint失敗,abort事務。4.驗證一致性啟動作業(yè)后,使用kafka-console-consumer加上isolation.level=read_committed消費目標topic,收集1小時數(shù)據(jù),與MySQLbinlog對賬,計算GMV差值為0;同時人為killJobManager觸發(fā)恢復,再次對賬,差值仍為0,驗證exactly-once。48.說明如何在Trino423中利用Iceberg的hiddenpartitioning功能優(yōu)化查詢性能,并給出建表與查詢示例。答案:hiddenpartitioning指用戶無需顯式寫出分區(qū)值,Iceberg自動根據(jù)轉(zhuǎn)換函數(shù)生成分區(qū),避免查詢時遺漏分區(qū)。建表示例:CREATETABLEiceberg.db.orders(order_idBIGINT,order_timeTIMESTAMP(6),amountDECIMAL(10,2))WITH(partitioning=ARRAY['day(order_time)'],format='PARQUET');插入數(shù)據(jù):INSERTINTOiceberg.db.ordersVALUES(1,TIMESTAMP'2026-06-0110:00:00',99.9),(2,TIMESTAMP'2026-06-0211:00:00',88.8);查詢優(yōu)化:SELECTSUM(amount)FROMiceberg.db.ordersWHEREorder_time>=TIMESTAMP'2026-06-0100:00:00'ANDorder_time<TIMESTAMP'2026-06-0200:00:00';Trino自動將謂詞下推為Iceberg的partitionfilter,僅掃描2026-06-01分區(qū),EXPLAINPLAN顯示只讀取1個manifest文件,掃描數(shù)據(jù)量從100GB降至1.2GB,查詢耗時從45s降至0.8s。隱藏分區(qū)避免用戶誤寫錯分區(qū)值,提升易用性與性能。六、編程題(每題20分,共40分)49.使用PySpark3.4實現(xiàn)實時UV計算,數(shù)據(jù)源為Kafka,topic:user_behavior,格式:{"user_id":"u123","event_time":"2026-06-0110:00:00","event_type":"click"},要求每10秒輸出一次當日累計UV到MySQL,需去重且支持作業(yè)失敗恢復。答案:```pythonfrompyspark.sqlimportSparkSessionfrompyspark.sql.functionsimportcol,to_date,countDistinctfrompyspark.sql.typesimportStructType,StringType,TimestampTypespark=SparkSession.builder\.appName("uv_job")\.config("spark.sql.shuffle.partitions",200)\.getOrCreate()schema=StructType()\.add("user_id",StringType())\.add("event_time",TimestampType())\.add("event_type",StringType())df=spark.readStream\.format("kafka")\.option("kafka.bootstrap.servers","kafka:9092")\.option("subscribe","user_behavior")\.option("startingOffsets","latest")\.load()\.selectExpr("CAST(valueASSTRING)")\.select(spark.read.json(col("value"),schema=schema).alias("tmp"))\.select("tmp.")\.filter(col("event_type")=="click")\.withColumn("dt",to_date(col("event_time")))uv_df=df.groupBy("dt").agg(countDistinct("user_id").alias("uv"))defwrite_to_mysql(batch_df,batch_id):batch_df.write\.format("jdbc")\.option("url","jdbc:mysql://mysql:3306/stat")\.option("dbtable","uv_stats")\.option("user","root")\.option("password","pwd")\.mode("append")\.save()query=uv_df.writeStream\.outputMode("update")\.foreachBatch(write_to_mysql)\.option("checkpointLocation","hdfs://ns/checkpoints/uv")\.trigger(processingTime="10seconds")\.start()query.awaitTermination()```說明:使用checkpointLocation保存偏移量與狀態(tài),失敗恢復時自動續(xù)跑;countDistinct利用HLL近似去重,狀態(tài)存儲在RocksDB,保證exactly-once。50.使用Flink1.17TableAPI實現(xiàn)訂單寬表加工,source為Kafka訂單主表與訂單明細表,需關(guān)聯(lián)并在訂單狀態(tài)變更后30分鐘內(nèi)輸出到Elasticsearch,要求使用事件時間、延遲數(shù)據(jù)側(cè)輸出、狀態(tài)TTL為2小時。答案:```javaEnvironmentSettingssettings=EnvironmentSettings.newInstance().inStreamingMode().build();TableEnvironmenttEnv=TableEnvironment.create(settings);tEnv.executeSql("CREATETABLEorders_main("+"order_idSTRING,"+"user_idSTRING,"+"statusINT,"+"update_timeTIMESTAMP(3),"+"WATERMARKFORupdate_timeASupdate_time-INTERVAL'5'SECOND"+")WITH("+"'connector'='kafka',"+"'topic'='orders_main',"+"'properties.bootstrap.servers'='kafka:9092',"+"'format'='json',"+"'scan.startup.mode'='latest-offset')");tEnv.executeSql("CREATETABLEorders_detail("+"order_idSTRING,"+"sku_idSTRING,"+"priceDECIMAL(10,2),"+"update_timeTIMESTAMP(3),"+"WATERMARKFORupdate_timeASupdate_time-INTERVAL'5'SECOND"+")WITH("+"'connector'='kafka',"+"'topic'='orders_detail',"+"'properties.bootstrap.servers'='kafka:9092',"+"'format'='json')");tEnv.executeSql("CREATETABLEorders_wide("+"order_idSTRING,"+"user_idSTRING,"+"statusINT,"+"sku_idSTRING,"+"priceDECIMAL(10,2),"+"proc_time
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職會計基礎(會計基礎實操)試題及答案
- 2025年大學水污染防治管理應用(應用技術(shù))試題及答案
- 2025年大學農(nóng)業(yè)資源與環(huán)境(土壤肥力檢測)試題及答案
- 2025年大學機械原理(機械原理實驗)試題及答案
- 2025年高職播音主持(播音主持基礎)試題及答案
- 2025年高職產(chǎn)品設計實踐(產(chǎn)品實踐)試題及答案
- 2025年高職農(nóng)產(chǎn)品加工技術(shù)(果蔬保鮮工藝)試題及答案
- 2025年高職(市場營銷)網(wǎng)絡營銷實訓階段測試題及答案
- 2025年大學人工智能技術(shù)應用(自然語言處理)試題及答案
- 2025年大學二年級(網(wǎng)絡安全)網(wǎng)絡安全防護試題及答案
- 2025年江蘇省公務員面試模擬題及答案
- 2025中國家庭品牌消費趨勢報告-OTC藥品篇-
- 廣東省2025屆湛江市高三下學期第一次模擬考試-政治試題(含答案)
- 天津市河東區(qū)2026屆七年級數(shù)學第一學期期末復習檢測試題含解析
- 水庫清淤申請書
- 梯子使用安全操作規(guī)程
- 民航保健與衛(wèi)生
- 2025年城市更新的城市更新技術(shù)
- 2025年第五人格聽力試卷及答案
- 藥店三七活動方案
- 聚焦2025年:電商物流“最后一公里”配送冷鏈運輸解決方案研究
評論
0/150
提交評論