版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年大数据(数据测试)专项突破试卷及答案1.单项选择题(每题1分,共20分)1.1在HDFS中,NameNode的主要职责是A.存储实际数据块B.维护文件系统元数据C.执行Map任务D.压缩数据答案:B1.2下列哪项指标最能直接反映数据仓库星型模型的查询性能A.事实表行数B.维度表列数C.位图索引大小D.平均维表深度答案:C1.3使用SparkSQL对Parquet表执行count()时,可跳过的优化阶段是1.3使用SparkSQL对Parquet表执行count()时,可跳过的优化阶段是A.逻辑优化B.物理优化C.列统计跳过D.代码生成答案:C1.4在Kafka2.8之后,移除Zookeeper依赖的新共识协议是A.RaftB.ZabC.PaxosD.Gossip答案:A1.5对倾斜键“NULL”进行SparkJoin调优时,最先考虑的策略是A.增加executor内存B.使用saltedkey拆分C.启用动态分区D.关闭推测执行答案:B1.6数据质量规则“字段X取值必须在[0,1]闭区间”属于A.一致性规则B.完备性规则C.准确性规则D.时效性规则答案:C1.7在FlinkCEP中,定义“followedByAny”与“next”的核心差异是A.是否允许忽略其他事件B.是否支持窗口C.是否触发checkpointD.是否保持事件顺序答案:A1.8对TB级CSV文件进行首次探查,最节省IO的采样方法是A.水塘采样B.伯努利采样C.系统块采样D.分层采样答案:C1.9在Hive3.0中,ACID事务表默认的存储格式是A.TextFileB.ORCC.AvroD.JSON答案:B1.10使用Pythonpandas读取MySQL时,可一次性设置chunk大小的参数是A.iteratorB.chunksizeC.batchD.limit答案:B1.11下列关于数据血缘说法正确的是A.只能捕获ETL血缘B.无法展示字段级映射C.可用于影响分析D.不依赖元数据答案:C1.12在AWSS3中,对前缀“/data/2026/”启用GlacierDeepArchive,满足合规要求的最短存储天数是A.30B.90C.180D.360答案:C1.13基于DataFrameAPI对PySpark3.4执行dropDuplicates(),默认使用的分区数是A.200B.spark.sql.shuffle.partitionsC.1D.上游RDD分区数答案:B1.14在PromQL中,计算“过去5分钟HTTP错误率”应使用的函数组合是A.rate+increaseB.irate+sumC.rate+sumD.increase+delta答案:C1.15对ClickHouse执行ALTERTABLEUPDATE,哪项描述正确A.立即重写全表B.异步后台合并C.需要停写D.不支持分区键答案:B1.16数据湖仓一体架构中,最上层的统一服务是A.对象存储B.元数据目录C.计算引擎D.缓存层答案:B1.17在DataHub中,元数据摄取框架名称是A.GobblinB.ingestion-frameworkC.MCED.MAE答案:C1.18使用GreatExpectations时,验证结果存储的默认后端是A.MySQLB.SQLiteC.JSON文件D.MongoDB答案:C1.19在DeltaLake中,回滚到版本v5的命令是A.RESTORETABLEtTOv5B.ROLLBACKTABLEtTOVERSIONASOFv5C.TIMETRAVELtTOv5D.ALTERTABLEtSETVERSION=v5答案:A1.20下列关于数据沙箱说法错误的是A.提供脱敏数据B.支持即席查询C.必须物理隔离D.可审计操作答案:C2.多项选择题(每题2分,共20分;多选少选均不得分)2.1导致SparkJob出现“ExecutorLostFailure”的常见原因有A.堆外内存超限B.YARN抢占C.网络抖动D.动态分配关闭答案:ABC2.2以下属于数据治理核心域的有A.数据标准B.数据质量C.数据生命周期D.数据备份答案:ABC2.3在Flink1.17中,支持作为TableStore底层文件系统的有A.HDFSB.OSSC.S3D.FTP答案:ABC2.4使用dbt进行数据转换时,可生成的制品包括A.manifest.jsonB.catalog.jsonC.run_results.jsonD.lineage.dot答案:ABC2.5关于Z-Order曲线优化,正确的有A.减少文件扫描B.提高多维过滤效率C.需要额外排序开销D.仅适用于文本格式答案:ABC2.6在Snowflake中,可单独授予的权限对象有A.WarehouseB.DatabaseC.SchemaD.Table答案:ABCD2.7以下哪些操作会触发HiveMetastore监听事件A.ALTERPARTITIONB.CREATETABLEC.DROPDATABASED.SHOWTABLES答案:ABC2.8使用Prometheus监控Kafka,可采集的核心指标有A.kafka_server_broker_topic_metrics_messages_in_rateB.kafka_log_log_sizeC.kafka_consumer_lag_sumD.kafka_network_request_total_time_ms答案:ACD2.9在数据质量维度中,可量化“准确性”的指标有A.错误率B.数据差异率C.重复率D.偏移率答案:ABD2.10以下属于数据测试自动化框架的有A.Pytest+GreatExpectationsB.DataCampC.soda-sqlD.MonteCarlo答案:ACD3.填空题(每空1分,共20分)3.1在Spark3.4中,将DataFrame写入Iceberg表并启用行级更新,需设置spark.sql.catalog.iceberg.________=true。答案:table-default-props.write.merge.mode3.2数据质量维度中的“Completeness”常用指标为________。答案:缺失值比例3.3在Linux下,对ORC文件运行________命令可快速查看文件footer元数据。答案:orc-contents--json3.4使用FlinkSQL创建临时视图时,关键字________可引用已注册的catalog。答案:WITH3.5在Hive中,查看表所有分区信息的命令是SHOW________。答案:PARTITIONS3.6在PostgreSQL中,对JSONB字段创建GIN索引的语句为CREATEINDEXidxONtableUSING________((json_col));答案:GIN3.7在DataHub中,元数据变更事件Topic默认名称为________。答案:MetadataChangeEvent_v43.8在dbt中,模型配置materialized='________'可实现每次全量重写。答案:table3.9在ClickHouse中,将MergeTree表改为按周分区,需使用表达式________。答案:toYYYYMM(date)改为toMonday(date)3.10在Kafka中,consumeroffset默认topic名称为________。答案:__consumer_offsets3.11在Airflow2.7中,任务重试间隔参数为________。答案:retry_delay3.12在Python中,使用pandas读取超过内存的CSV,可结合________库进行分块处理。答案:pyarrow3.13在DeltaLake中,查看历史版本的SQL语法为SELECTFROMtableVERSIONASOF________。3.13在DeltaLake中,查看历史版本的SQL语法为SELECTFROMtableVERSIONASOF________。答案:整数或时间戳3.14在Snowflake中,查询当前会话角色使用SELECT________();答案:CURRENT_ROLE3.15在PromQL中,计算瞬时增长率的函数为________。答案:irate3.16在HDFS中,默认副本数为________。答案:33.17在Spark中,将RDD持久化到内存且序列化的存储级别是________。答案:MEMORY_ONLY_SER3.18在Linux下,批量重命名ORC文件后缀可使用________命令。答案:rename3.19在Flink中,实现exactly-once需配置checkpointing模式为________。答案:EXACTLY_ONCE3.20在数据治理成熟度模型DGI中,最高等级为________。答案:Optimized4.简答题(共6题,每题8分,共48分)4.1(封闭型)列举Spark3.x中三种解决数据倾斜的Shuffle优化参数,并给出适用场景。答案:1.spark.sql.adaptive.coalescePartitions.enabled:小文件合并,适用于分区数过多导致任务启动开销大。2.spark.sql.adaptive.skewJoin.enabled:自动检测倾斜并拆分,适用于大表Join出现热点key。3.spark.sql.shuffle.partitions:手动调整总分区数,适用于整体数据量变化导致任务粒度不均。4.2(开放型)某电商公司“订单表”每日增量2亿条,需构建准实时数据质量监控,请设计技术方案并说明关键组件。答案:1.采集:使用DebeziumCDC订阅MySQLbinlog,写入Kafka。2.计算:FlinkSQL消费Kafka,按1分钟窗口聚合指标(缺失率、重复率、范围异常)。3.规则:GreatExpectations库封装规则,通过Soda-sqlDSL描述。4.告警:指标落入Prometheus,Grafana仪表盘配置阈值,触发Alertmanager发送飞书。5.治理:异常数据写入BadRecord表,Airflow定时重跑修复流程。4.3(封闭型)说明ORC文件在PredicatePushdown中的三项内部机制。答案:1.文件级:利用StripeStatistics跳过不满足条件的Stripe。2.行组级:RowIndex中min/max值过滤。3.列级:BloomFilter判断等值查询是否存在。4.4(开放型)某企业计划将Hive仓库升级为Lakehouse,请给出迁移步骤与回退策略。答案:步骤:1.评估:使用HiveProfiler统计表大小、访问频率、ACID需求。2.环境:部署Spark3.4+DeltaLake2.4,建立并行集群。3.迁移:使用DeltaClone命令做SHALLOWCOPY,保证元数据同步。4.验证:对比行数、checksum、Top10查询性能。5.切换:修改Ranger策略,将读写路由到新集群。回退:1.保留原Hive表7天,使用distcp备份HDFS数据。2.通过Ranger一键回滚权限。3.若出现兼容性问题,利用Airflow重跑回退Workflow。4.5(封闭型)写出在ClickHouse中实现“累计UV”的物化视图SQL模板,要求按天分区、使用AggregateMergeTree。答案:CREATEMATERIALIZEDVIEWmv_uvENGINE=AggregatingMergeTree()PARTITIONBYtoYYYYMMDD(date)ORDERBY(date,site_id)ASSELECTdate,site_id,uniqState(user_id)ASuv_stateFROMlog_tableGROUPBYdate,site_id;查询:SELECTdate,uniqMerge(uv_state)ASuvFROMmv_uvGROUPBYdate;4.6(开放型)说明数据测试中的“静态扫描”与“运行时断言”差异,并给出各自最佳实践。答案:静态扫描:在代码提交阶段对SQL、YAML进行解析,发现反模式如SELECT、无分区过滤;工具SQLFluff、dbt-coves;优点左移缺陷,缺点无法感知数据内容。静态扫描:在代码提交阶段对SQL、YAML进行解析,发现反模式如SELECT、无分区过滤;工具SQLFluff、dbt-coves;优点左移缺陷,缺点无法感知数据内容。运行时断言:在作业执行中计算指标,如行数波动>20%则失败;工具GreatExpectations、Soda;优点真实反映数据,缺点资源消耗高。最佳实践:CI阶段强制静态扫描,生产调度每小时运行轻量断言,每日全量深度断言,形成金字塔模型。5.应用题(共4题,共62分)5.1计算类(15分)给定Spark3.4环境,事实表F50亿行,维度表D500万行,执行以下SQL:SELECTD.city,sum(F.revenue)FROMFJOINDONF.prod_id=D.prod_idWHEREF.dtBETWEEN'2026-04-01'AND'2026-04-07'GROUPBYD.city;已知:F按dt分区,共3072分区,数据倾斜键prod_id=0占7%。集群总core800,executor内存4GB。当前spark.sql.shuffle.partitions=200,运行时长45分钟,出现单任务耗时38分钟。请计算并给出调优步骤与预期加速比。答案:步骤:1.过滤下推:动态分区裁剪,减少输入约6/3072≈0.2%。2.拆分倾斜:对prod_id=0加盐32桶,重写为两阶段聚合,map端预聚合。3.调整并行度:将shuffle分区改为800,保证每任务处理≈(50亿×0.07)/32/800≈14万行,内存充足。4.启用AQE:spark.sql.adaptive.enabled=true,自动合并小任务。预期:单任务38分钟降至约4分钟,总时长≈7分钟,加速比≈6.4倍。5.2分析类(15分)某日志文件2TB,gzip压缩,行格式JSON,字段含user_id、event_time、event_type。需求:统计近30天每日各类事件数,输出CSV。限制:单机16核64GB,磁盘3TBSSD。要求:给出技术选型、核心代码、耗时估算。答案:选型:使用duckdb0.8,支持并行读取gzip,无需Spark重框架。代码:importduckdbcon=duckdb.connect()con.execute("""CREATETEMPTABLElogASSELECTFROMread_json_auto('log.gz',format='array');SELECTFROMread_json_auto('log.gz',format='array');COPY(SELECTdate(event_time)ASdt,event_type,count()AScntSELECTdate(event_time)ASdt,event_type,count()AScntFROMlogWHEREevent_time>=CURRENT_DATEINTERVAL30DAYGROUPBYdt,event_type)TO'result.csv'WITH(HEADER1);""")耗时:读取2TBgzip≈150MB/s,总时间≈3.7小时;聚合利用列存+并行,CPU-bound部分≈30分钟;总计≈4.2小时,低于磁盘与内存限制。5.3综合类(16分)设计一套“流式数据质量评分卡”,输入为KafkaTopic:user_behavior,每秒3万条,字段user_id、item_id、category、ts、action。要求:1.实时计算完整性、及时性、一致性、准确性四维得分。2.输出另一KafkaTopic:quality_score,json格式,包含窗口结束时间、四维得分、综合得分。3.支持回溯7天重放。给出Flink作业拓扑、核心代码、状态大小估算。答案:拓扑:Source(Kafka)→Map(解析)→KeyBy=category→Window(1min,tumbling)→ProcessWindowFunction→Sink(Kafka)。代码:publicclassQualityScoreFunctionextendsProcessWindowFunction<Behavior,Score,String,TimeWindow>{publicvoidprocess(Stringcategory,Contextctx,Iterable<Behavior>elements,Collector<Score>out){longtotal=0,missingUser=0,late=0,invalidAction=0;longwindowEnd=ctx.window().getEnd();longthreshold=windowEnd60000;for(Behaviorb:elements){total++;if(b.user_id==null)missingUser++;if(b.ts<threshold)late++;if(!Arrays.asList("click","buy","cart").contains(b.action))invalidAction++;}doublecompleteness=1.0(double)missingUser/total;doubletimeliness=1.0(double)late/total;doubleconsistency=1.0(double)invalidAction/total;doubleaccuracy=0.95;//假设与外部维度表对比doubleoverall=(completeness+timeliness+consistency+accuracy)/4;out.collect(newScore(windowEnd,completeness,timeliness,consistency,accuracy,overall));}}状态:窗口状态仅保存累加器,每条20字节,3万/秒×60=180万条/分,状态≈180万×20≈36MB,RocksDB增量checkpoint压缩后≈6MB/分,7天可回溯,Kafka设置7天保留。5.4综合类(16分)某金融公司需对“用户画像表”进行每日数据测试,表结构:user_idstring,ageint,genderstring,citystring,assetdecimal(18,2),update_timetimestamp要求:1.编写GreatExpectationsSuite,覆盖字段非空、值域、分布、跨表一致性。2.利用dbtmacro实现动态阈值(资产均值±3σ)。3.输出测试报告到S3,并通过Slack通知。给出完整实现代码与目录结构。答案:目录:expectations/user_profile_suite.jsondbt_project.ymlmacros/dynamic_threshold.sqlmodels/test_profile.ymlpython/run_ge.pyuser_profile_suite.json:{"expectation_suite_name":"user_profile","expectations":[{"expectation_type":"expect_column_values_to_not_be_null","column":"user_id"},{"expectation_type":"expect_column_values_to_be_between","column":"age","min_value":0,"max_value":120},{"expectation_type":"expect_column_values_to_be_in_set","column":"gender","value_set":["M","F"]},{"expectation_type":"expect_column_mean_to_be_between","column":"asset","min_value":{"PARA]}macros/dynamic_threshold.sql:{%macroget_asset_bounds()%}{%setresults=run_query(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师资格考试初级中学化学面试知识点试题集详解(2026年)
- 2026年秋统编版小学道德与法治二年级上册(全册)分层作业及答案(新教材)
- 软件开发科长面试题(某大型国企)试题集详解(2026年)
- 【绿色全要素生产率相关研究的文献综述2500字】
- 乡村旅游民宿服务质量监督协议
- 《学习伴我成长》分层作业(含答案)-2026-2027学年统编版小学道德与法治三年级上册(新教材)
- 线上教育行业关键绩效指标合作协议
- 工业旅游旅游纪念品合作协议
- 股东知情权保障服务协议
- Unit 6 Rain or Shine (Period 6)单元复习课 (3)同步练2025-2026学年人教版英语七年级下册
- 2026年山西省中考数学试卷(含答案)
- 2025-2026学年天津市五区县重点校高二下册7月期末联考数学试题(含答案)
- 2025年黑龙江省公安厅招聘警务辅助人员笔试真题(附答案)
- 2026年保密教育线上培训考试试题及答案
- 2026年法律职业资格考试《行政法与行政诉讼法》冲刺试卷
- 2026贵阳市护士招聘笔试题及答案
- 2026年手术室护理实践指南试题及答案
- 2026年兴业银行公司业务岗模拟题库
- 车险查勘定损培训课件
- 给排水及采暖工程作业活动风险分级管控清单-双重预防
- 2026年银行系统运维岗招聘笔试模拟题含答案
评论
0/150
提交评论