上一篇
爱奇艺数据仓库工程师
- 行业动态
- 2025-05-12
- 14
爱奇艺数据仓库工程师负责数据集成、ETL开发及数据治理,运用Hive/ClickHouse等技术处理海量用户行为与内容数据,优化存储架构与查询性能,支撑精准推荐、运营分析等
岗位职责
- 数据建模与设计
- 负责业务域的数据模型设计(如星型模型、雪花模型),优化数据存储结构。
- 参与数据仓库分层架构设计(ODS→DWD→DWS→ADS)。
- ETL开发与优化
- 开发离线/实时数据管道,完成数据清洗、转换、加载。
- 优化ETL作业性能(如减少数据倾斜、提升并发效率)。
- 数据平台运维
- 维护数据仓库的稳定性、高可用性,处理故障和性能瓶颈。
- 监控数据质量,设计数据校验规则和异常告警机制。
- 业务支持与协作
- 为BI、算法团队提供高效数据服务,优化查询性能。
- 与业务部门沟通,理解需求并转化为技术方案。
技能要求
技能类别 | 具体要求 |
---|---|
核心能力 | 精通SQL,熟悉复杂查询优化(如JOIN、子查询、窗口函数)。 掌握ETL工具(如Airflow、DataX、Sqoop)。 |
大数据技术 | 熟悉Hadoop生态(Hive、Spark、HBase)。 了解实时计算框架(Flink、Kafka Streaming)。 |
编程语言 | 至少一种脚本语言(Python/Shell)或开发语言(Java/Scala)。 |
数据建模 | 具备维度建模经验,理解范式与反范式设计。 |
加分项 | 数据治理经验(元数据管理、血缘分析)。 机器学习基础(特征工程、模型数据支持)。 |
技术栈与工具
领域 | 常用技术/工具 |
---|---|
数据存储 | HDFS、Hive、HBase、ClickHouse、MySQL(维表) |
计算引擎 | Spark(离线)、Flink(实时)、Presto(交互式查询) |
任务调度 | Apache Airflow、DolphinScheduler、内部定制调度系统 |
数据集成 | DataX、Kafka(日志采集)、Canal(增量同步) |
监控与治理 | Prometheus(监控)、DataQuality(质量校验)、Atlas(血缘) |
典型业务场景与挑战
用户行为分析
- 场景:跟踪用户播放、搜索、点赞等行为,生成宽表供算法团队训练推荐模型。
- 挑战:实时性要求高(需秒级延迟)、数据量大(日增TB级日志)。
- 方案:采用Kafka+Flink实时处理,结合Redis缓存热点数据。
广告效果评估
- 场景:计算广告曝光、点击、转化漏斗,支持多维度下钻分析。
- 挑战:数据分散(日志、业务库、第三方API),需统一口径。
- 方案:通过DataX同步数据至Hive,使用Spark完成ETL并构建ADS层宽表。
成本优化
- 挑战:存储成本(HDFS小文件过多)、计算资源浪费(任务高峰期资源不足)。
- 方案:
- 小文件合并(Hive ORC文件+Snappy压缩)。
- 动态资源分配(YARN队列+Spark动态资源池)。
相关问题与解答
问题1:数据仓库与大数据开发的区别是什么?
解答:
| 对比维度 | 数据仓库 | 大数据开发 |
|——————–|——————————————–|—————————————-|
| 目标 | 面向业务提供结构化、高质量数据。 | 处理海量非结构化/半结构化数据(如日志)。|
| 技术侧重点 | 数据建模、ETL优化、数据治理。 | 分布式计算、实时流处理、存算效率。 |
| 输出产物 | 标准化报表、宽表、OLAP数据集。 | 原始数据湖、清洗后的中间层数据。 |
问题2:如何优化Hive SQL的执行效率?
解答:
- 分区与分桶:按业务字段(如日期、地区)分区,避免全表扫描。
- 谓词下推:在WHERE子句中使用分区字段过滤(如
WHERE ddate='2023-10-01'
)。 - 列式存储:使用ORC/Parquet格式替代TextFile,减少IO开销。
- 并行度调整:设置
mapreduce.job.reduces
或spark.sql.shuffle.partitions
,避免数据倾斜。 - 索引加速:对高频查询字段建立BloomFilter或Bitmap索引