Workflow
Apache NiFi
icon
搜索文档
一文读懂数据工程的基础知识
36氪· 2025-07-10 10:10
数据工程定义 - 数据工程是设计、构建和维护系统的过程,该系统可以收集、存储、分析数据并基于数据做出决策,旨在让其他数据用户能够访问高质量数据 [2] - 数据工程是数据驱动型公司的基石,贯穿从数据收集到决策的所有步骤,堪称现代公司的血液 [1] 数据源类型 - 结构化数据源:遵循预定义模式,组织在行列表格中,适合高一致性数据,包括关系数据库(PostgreSQL/MySQL)、CRM系统(Salesforce)、ERP系统(SAP) [7][8][9] - 半结构化数据源:使用标签组织但无固定模式,包括JSON文件、XML文件、HTML文档和电子邮件 [10][12][13][14][15] - 非结构化数据源:缺乏预定义模型,包括文本文档、社交媒体帖子、视频和图像 [16][18][19][20][21] 数据提取方法 - 批处理:按预定间隔(如每日)处理数据,适用于信用卡账单、工资单等场景,工具包括Informatica/Talend [24] - 实时流处理:持续收集处理数据,适用于股票市场/零售库存,工具包括Apache Kafka/Amazon Kinesis [25][26] 数据存储系统 - 数据库:关系型(MySQL)适合事务处理,NoSQL(MongoDB/Redis)处理半结构化数据 [29] - 数据湖(Amazon S3/Databricks):存储原始多类型数据,适合AI/大数据分析 [30] - 数据仓库:优化结构化数据查询,用于商业智能,如Snowflake/Redshift [30][33] 数据处理技术 - 预处理包括数据清理(去重/填充缺失值)、规范化(数值缩放)、编码(分类转数值) [38][39] - ETL流程:提取源数据→转换格式→加载至存储系统,是数据集成的核心 [41] - 数据管道:自动化实时数据传输,工具如Apache NiFi/Airbyte [42][44] 数据集成方法 - 数据联合:创建虚拟数据库统一访问多源数据,无需物理整合 [46] - API集成:通过应用程序接口实现系统间数据调用 [47][48] - 聚合策略:包括分组(按属性分类)、汇总(计算总和/平均值)、层级汇总(日→周→月) [51][52][54] 数据质量保障 - 验证技术:模式验证、格式检查、范围检查、重复检测等,预防数据问题 [61][62] - 质量监控:定期审计+自动化工具(Great Expectations/Deequ)持续维护数据质量 [66][68] 数据建模与分析 - 建模分概念(实体关系图)→逻辑(定义键/约束)→物理(实际数据库实现)三阶段 [71] - 可视化工具:Tableau/Power BI展示数据趋势,Python库(pandas/Matplotlib)支持分析 [73][74] 系统优化趋势 - 可扩展性技术:分布式计算(Apache Spark)、云平台(AWS/Azure)、数据分区/缓存 [79] - 大数据工具:分布式存储(Google Cloud Storage)、处理框架(Hadoop/Flink)、实时分析(Kafka) [80][82][84] 行业技术趋势 - AI/ML正融入数据管道,实现自动化模式识别和预测分析 [84] - 云计算(AWS/Azure)和无服务器架构降低基础设施成本,提升处理效率 [85] - 未来数据工程师需兼具传统工程技能与AI/ML知识,需求将持续增长 [86]