版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年大数据技术专业技能考试及答案1.单项选择题(每题2分,共30分)1.1在Hadoop3.3的YARN容量调度器中,当队列A的capacity=40%、max-capacity=80%,队列B的capacity=60%、max-capacity=100%时,若集群瞬时总资源为200vCore、400GB,此时队列A已占用90vCore、180GB,队列B已占用110vCore、220GB。新来一个Job-1声明需要20vCore、40GB,则Job-1将被:A.立即分配到队列AB.立即分配到队列BC.等待队列A释放资源后再分配D.等待队列B释放资源后再分配答案:B解析:队列A当前已用资源占比45%,未超max-capacity;队列B当前已用资源占比55%,也未超max-capacity。容量调度器优先选择资源使用率低于capacity的队列,B使用率55%低于A的45%,但B的绝对剩余资源更多,调度器会优先将任务提交到B。1.2使用Flink1.17进行Exactly-Once端到端写入Kafka,必须开启的Checkpoint参数是:A.checkpointingMode=AT_LEAST_ONCEB.enableUnalignedCheckpoints=falseC.deliveryGuarantee=EXACTLY_ONCED.state.backend=HashMap答案:C解析:KafkaSink的deliveryGuarantee参数直接控制端到端语义,只有设置为EXACTLY_ONCE才能配合两阶段提交实现精确一次。1.3某电商公司使用DeltaLake2.4,表T按dt字段分区,dt范围20230101-20231231。执行VACUUMTRETAIN168HOURS后,下列哪类文件一定被删除:A.版本号≤7且被标记为remove的parquet文件B.版本号≤7且被标记为add的parquet文件C.版本号≤7的_delta_log目录下json文件D.版本号≤7的checkpoint文件答案:A解析:VACUUM只清理物理上不再被最新状态引用的数据文件,即被标记为remove且超过保留期的parquet文件。1.4在Spark3.4的AdaptiveQueryExecution中,当shufflepartition数从200自动合并为20时,触发合并的阈值由哪项参数控制:A.spark.sql.adaptive.coalescePartitions.minPartitionNumB.spark.sql.shuffle.partitionsC.spark.sql.adaptive.advisoryPartitionSizeInBytesD.spark.sql.adaptive.coalescePartitions.initialPartitionNum答案:C解析:advisoryPartitionSizeInBytes决定目标分区大小,系统按此估算合并后的分区数。1.5使用Presto0.433查询Iceberg表,若想读取快照ID=855706775966L的历史数据,应使用:A.SELECTFROMtVERSIONASOF855706775966B.SELECTFROMtTIMESTAMPASOF855706775966C.SELECTFROMtFORSYSTEM_VERSIONASOF855706775966D.SELECTFROMtFORSYSTEM_TIMEASOF855706775966答案:A解析:Iceberg在Presto中通过VERSIONASOF语法指定快照ID。1.6某ClickHouse集群使用MergeTree引擎,按toYYYYMM(create_time)分区,数据写入后发现分区字段全部落在202312,但磁盘上出现了202311_1_1_0、202312_2_2_0、202312_3_3_0三个目录,其原因是:A.手动执行过ALTERPARTITIONB.写入时batch大小不一致导致blockID不同C.后台merge线程尚未触发D.分区键表达式写错答案:C解析:MergeTree目录名格式为partition_minBlock_maxBlock_level,多个目录存在说明尚未merge。1.7在Elasticsearch8.11中,对text字段使用match_phrase查询“datalake”,若想允许中间最多插入2个词,应设置:A.slop=0B.slop=1C.slop=2D.slop=3答案:C解析:slop控制短语间允许插入的最大词数。1.8某企业使用Airflow2.8,DAG-A使用@daily调度,start_date=2025-01-01,catchup=False,若部署时间为2025-01-0415:00,则首次实际执行日期为:A.2025-01-01B.2025-01-02C.2025-01-03D.2025-01-04答案:D解析:catchup=False表示不补跑历史,首次执行即当天。1.9在Hudi0.14的COW表中,对recordKey相同的两条upsert数据先后写入,第二次写入的instanttime为20250104120000,则最终文件切片中:A.保留两条记录B.保留第一条C.保留第二条D.随机保留一条答案:C解析:COW表upsert为写时合并,后写覆盖先写。1.10使用Pulsar3.0的exclusive订阅模式,当consumer-A断开连接后,topic中未确认的消息将:A.立即重试投递给consumer-AB.等待consumer-A重新上线C.立即投递给下一个在线consumerD.进入死信队列答案:B解析:exclusive模式下只有唯一consumer,断线后消息堆积等待其恢复。1.11在StarRocks3.1的明细模型中,对k1,k2,k3三列建立Bitmap索引,当查询wherek1=1andk2=2时,索引过滤流程为:A.先k1再k2交集B.先k2再k1交集C.同时扫描k1,k2合并D.无法使用索引答案:A解析:StarRocks按建索引顺序依次过滤并取交集。1.12某数据湖使用Trino435查询ORC文件,开启orc.bloom.filter.columns=col1,当wherecol1=100时,Trino会:A.直接跳过stripeB.先读stripefooter再决定是否跳过C.忽略bloomfilterD.读取整个文件答案:B解析:ORC的bloomfilter保存在stripefooter,需先读footer判断。1.13在Redis7.2的cluster模式下,对key“user:123”执行MGETuser:123user:124,若两个key对应的slot分别为12182、11252,则命令:A.返回两个值B.返回第一个值,第二个为nilC.返回MOVED重定向D.报错CROSSSLOT答案:D解析:MGET要求所有key落在同一slot。1.14使用Doris2.0的UniqueKey模型,对同一key先后导入batch1、batch2、batch3,其中batch2包含deleteflag,则最终状态为:A.batch3B.batch2C.空D.batch1答案:A解析:UniqueKey按batch顺序覆盖,deleteflag仅影响当前batch,后续batch重新插入。1.15在Hive4.0中,表T使用ORC格式,transactional=true,执行UPDATETSETcol1=col1+1WHEREid=5,其底层实现为:A.直接重写原文件B.写入delta目录并base文件合并C.新建一张临时表替换D.使用HDFStruncate答案:B解析:HiveACID通过delta+base文件实现,update写入delta,读时合并。2.多项选择题(每题3分,共30分)2.1关于SparkStructuredStreaming+Kafka,下列配置组合可实现端到端Exactly-Once的有:A.checkpointLocation=HDFS路径+kafka.acks=all+enable.idempotent=trueB.outputMode=append+trigger=ProcessingTime(10s)+checkpointLocation=本地路径C.kafka.transaction.timeout.ms=900000+deliveryGuarantee=exactly_onceD.sink=foreachBatch+自定义两阶段提交代码答案:ACD解析:B缺少kafka幂等及事务配置。2.2在FlinkSQL中,下列哪些语句可以触发状态清理:A.SET'table.exec.state.ttl'='1h'B.CREATETABLEt(...)WITH('state.ttl'='1h')C.ALTERTABLEtSET('state.ttl'='1h')D.CLEARSTATEFORTABLEt答案:AB解析:FlinkSQL目前仅支持作业级或表级ttl,无clearstate语法。2.3使用Hudi0.14MOR表时,下列操作会生成log文件的有:A.insertB.upsertC.deleteD.compaction答案:ABC解析:compaction是合并base+log,不生成新log。2.4在ClickHouse中,对MergeTree表执行ALTERUPDATEcol1=col12WHEREdt='202312',下列说法正确的有:A.会立即重写所有202312分区B.会生成mutation_id目录C.可通system.mutations查看进度D.执行过程中新写入数据不受影响答案:BCD解析:mutation为异步后台任务,不阻塞新数据。2.5关于Elasticsearch8.11的cross-clustersearch,下列说法正确的有:A.需远程集群开启securityB.支持不同版本集群互查C.需配置cluster.remote.cluster_name.seedsD.支持wildcard索引模式答案:ACD解析:版本需兼容,非任意版本。2.6在Airflow2.8中,下列属于Sensor的poke模式的有:A.mode='poke'B.mode='reschedule'C.mode='smart'D.mode='trigger'答案:AB解析:smart为poke+reschedule混合,无trigger模式。2.7使用StarRocks3.1的物化视图,下列场景可命中透明改写有:A.基表join后聚合与物化视图完全一致B.查询包含where条件rk=1,物化视图无该过滤C.查询selectfrommvD.查询groupby维度比物化视图少一列答案:AC解析:B需维度一致,D需满足rollup。2.8在Trino435中,使用cost-basedoptimizer时,下列统计信息可被使用的有:A.表级行数B.列级null比例C.列级distinct值D.分区级max/min值答案:ABCD解析:Trino支持多级统计。2.9关于Pulsar3.0的geo-replication,下列说法正确的有:A.需配置replicationClustersB.支持双向同步C.支持选择性topic同步D.需NFS共享存储答案:ABC解析:geo-replication基于bookie复制,无需NFS。2.10在Doris2.0中,下列属于高可用部署方案的有:A.FE多follower+observerB.BE多副本C.使用NamenodeHAD.使用ZooKeeperobserver答案:AB解析:Doris不依赖Namenode,ZKobserver与HA无关。3.判断题(每题1分,共10分)3.1Spark3.4的AQE可在运行时自动将sortmergejoin转为broadcastjoin。答案:√解析:当运行时统计发现一侧小于broadcast阈值时自动转换。3.2Flink1.17的RocksDBStateBackend支持增量checkpoint。答案:√解析:RocksDB开启增量后仅上传diff。3.3Hudi0.14的COW表不支持delete操作。答案:×解析:COW支持delete,写时合并。3.4ClickHouse的Distributed表引擎本身不存储数据。答案:√解析:仅做分布式路由。3.5Elasticsearch8.11已废弃_transport端口。答案:√解析:默认仅保留9200。3.6Airflow2.8的TaskFlowAPI无需定义DAG对象。答案:×解析:仍需@dag装饰器。3.7StarRocks3.1的primarykey表支持列级更新。答案:√解析:主键模型支持部分列更新。3.8Trino435支持Hive视图透明查询。答案:×解析:需展开视图定义。3.9Pulsar3.0的topic级别策略可覆盖namespace策略。答案:√解析:子级覆盖父级。3.10Doris2.0的UniqueKey模型底层使用Merge-on-Read。答案:×解析:UniqueKey为Merge-on-Write。4.填空题(每空2分,共20分)4.1在Spark3.4中,将DataFrame按列col1分桶200桶并排序,应使用_________函数。答案:bucketBy(200,"col1").sortBy("col1")4.2Flink1.17中,设置checkpoint最大并发为3的参数是_________。答案:maxConcurrentCheckpoints4.3Hudi0.14中,将mor表compaction触发条件设为commit次数达5次的参数是_________。答案:mits=54.4ClickHouse中,查看mutation进度的系统表是_________。答案:system.mutations4.5Elasticsearch8.11中,设置索引刷新间隔为30s的API端点为_________。答案:PUT/index/_settings{"refresh_interval":"30s"}4.6Airflow2.8中,设置DAG全局超时1小时的参数是_________。答案:dagrun_timeout=timedelta(hours=1)4.7StarRocks3.1中,查看物化视图透明改写是否命中的命令是_________。答案:EXPLAINLOGICAL4.8Trino435中,关闭动态过滤的参数是_________。答案:enable_dynamic_filtering=false4.9Pulsar3.0中,查看topic内部状态的命令是_________。答案:pulsar-admintopicsstats4.10Doris2.0中,设置BE副本数为5的语句是_________。答案:PROPERTIES("replication_num"="5")5.简答题(每题10分,共30分)5.1描述Spark3.4AQE在Shuffle阶段动态合并分区的完整流程,并给出源码入口类。答案:AQE通过MapOutputStatistics获取每个maptask输出大小,由CoalesceShufflePartitions规则计算目标分区数,公式为totalPostShuffleInputSize/targetSize,其中targetSize由spark.sql.adaptive.advisoryPartitionSizeInBytes控制。若合并后分区数小于初始,则注入CustomShuffleReaderExec。源码入口为org.apache.spark.sql.execution.adaptive.CoalesceShufflePartitions。5.2说明Flink1.17基于ChangelogStateBackend实现毫秒级延迟的核心机制。答案:ChangelogStateBackend将状态变更写入本地RocksDB的同时,追加写入DFS上的changelog文件,checkpoint时仅上传changelog增量,无需同步RocksDB快照,从而将checkpoint耗时降至毫秒级;恢复时重放changelog即可重建状态,实现低延迟端到端一致性。5.3列举Hudi0.14MOR表在读时合并阶段跳过log文件的三种条件,并给出判断逻辑。答案:1)base文件footer记录col_stats,若查询where条件max/min不包含目标值,则跳过整个base及对应log;2)log文件的instanttime小于查询快照时间且该log内无更新,通过timeline对比跳过;3)通过布隆过滤器判断recordkey不存在,则跳过该log块。判断逻辑位于LogFileScanner的shouldSkip方法。6.综合应用题(共60分)6.1(20分)某视频公司使用Flink1.17实时统计每分钟用户播放时长,数据源为Kafkatopic=play_log,格式{user_id,video_id,start_time,end_time,duration},要求:1)写出FlinkSQL建表语句,指定watermark及partition;2)计算每分钟的UV、总播放时长、平均播放时长;3)将结果写入Kafkatopic=play_minute;4)给出状态TTL为1小时的设置方式。答案:1)CREATETABLEplay_log(user_idSTRING,video_idSTRING,start_timeBIGINT,end_timeBIGINT,durationBIGINT,tsASTO_TIMESTAMP_LTZ(start_time,0),WATERMARKFORtsASts-INTERVAL'5'SECOND)WITH('connector'='kafka','topic'='play_log','properties.bootstrap.servers'='kafka:9092','format'='json','scan.startup.mode'='latest-offset');2)CREATEVIEWplay_minuteASSELECTDATE_FORMAT(ts,'yyyy-MM-ddHH:mm')ASminute,COUNT(DISTINCTuser_id)ASuv,SUM(duration)AStotal_duration,AVG(duration)ASavg_durationFROMplay_logGROUPBYDATE_FORMAT(ts,'yyyy-MM-ddHH:mm');3)CREATETABLEplay_minute_sink(minuteSTRING,uvBIGINT,total_durationBIGINT,avg_durationDOUBLE)WITH('connector'='kafka','topic'='play_minute','properties.bootstrap.servers'='kafka:9092','format'='json');INSERTINTOplay_minute_sinkSELECTFROMplay_minute;4)SET'table.exec.state.ttl'='1h';6.2(20分)某电商使用Spark3.4离线计算用户标签,原始表user_behavior(dt,user_id,behavior,item_id,ts)为ORC格式,数据量每日500GB,需计算近30天用户最近行为、行为次数、行为去重商品数,并将结果写入ClickHouse。要求:1)给出SparkSQL实现,使用窗口函数;2)说明如何通过bucket+zorder优化;3)给出ClickHouse建表语句,使用ReplacingMergeTree;4)说明写入ClickHouse的并行度设置。答案:1)SELECTuser_id,FIRST_VALUE(behavior)OVER(PARTITIONBYuser_idORDERBYtsDESCROWSBETWEENUNBOUNDEDPRECEDINGANDUNBOUNDEDFOLLOWING)ASlatest_behavior,COUNT()OVER(PARTITIONBYuser_id)ASbehavior_cnt,COUNT(DISTINCTitem_id)OVER(PARTITIONBYuser_id)ASitem_cntFROMuser_behaviorWHEREdtBETWEENDATE_SUB(CURRENT_DATE,30)ANDCURRENT_DATE;2)写入前对user_behavior按user_id分桶200桶并zorderbyuser_id,item_id,可加速按用户聚合及去重:df.write.bucketBy(200,"user_id").sortBy("user_id","item_id").saveAsTable("user_behavior_bucketed");3)CREATETABLEuser_tag(user_idUInt64,latest_behaviorString,behavior_cntUInt64,item_cntUInt64,update_timeDateTimeDEFAULTnow())ENGINE=ReplacingMergeTree(update_time)PARTITIONBYtoYYYYMM(update_time)ORDERBYuser_id;4)ClickHouseJDBC写入并行度=ClickHouse分片数×副本数×2,假设8分片2副本,则Spark并发=32,通过.numPartitions=32控制。6.3(20分)某金融公司使用Trino435联邦查询MySQL、Hive、Elasticsearch,需实时计算客户风险得分,规则:近7天交易金额>100万且近30天登录失败次数>5。给出:1)注册MySQL、Elasticsearchcatalog的语句;2)写出跨源SQL,使用WITH子句;3)说明如何利用Trino动态过滤加速;4)给出结果写入Redis的函数实现。答案:1)CREATECATALOGmysql_catalogUSINGmysqlOPTIONS("connection-ur
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026黎明职业大学招聘编制内博士研究生学历学位教师24人备考题库(福建)含答案详解(综合题)
- 2026广西柳州融安县长安镇卫生院乡村医生招聘2人备考题库附参考答案详解ab卷
- 2026福建省厦门银行股份有限公司校园招聘备考题库带答案详解(基础题)
- 2026年甘肃省兰州大学动物医学与生物安全学院聘用制B岗招聘备考题库附答案详解(轻巧夺冠)
- 2026福建医科大学附属第一医院招聘非在编合同制人员20人备考题库(二)及答案详解【全优】
- 2026广东汕头大学医学院第一批招聘6人备考题库附参考答案详解(研优卷)
- 2026建设社区卫生服务中心(嘉峪关市老年病医院)招聘7人备考题库(甘肃)及参考答案详解(完整版)
- 2026国航股份浙江分公司地面综合服务岗位就业见习生、实习生备考题库及参考答案详解(模拟题)
- 2026安徽省淮北市在定向选调生招录中同步开展党政储备人才引进40人备考题库含答案详解ab卷
- 2026贵州安顺三〇三医院招聘9人备考题库附参考答案详解(培优a卷)
- DB11T17742020建筑新能源应用设计规范
- 后厨设计案例分享
- 流出道室早定位课件图
- 中医药驾驭慢性病-揭秘中医药治疗慢性病之道
- 黄河护理单招真题试卷题库及答案解析
- 社区415国家安全教育日
- 大数据中心都建在这贵州为什么这么牛?(屏幕16比9)
- 制作艾米果活动
- 2025年安徽亳州(QC小组活动专业能力)中级质量专业能力考试题库及答案
- 房屋市政工程生产安全重大事故隐患判定标准解读培训(2024版)
- 神经内科进修汇报
评论
0/150
提交评论