大数据平台架构03_ETL和数据管理

1.数据探查

数据探查,顾名思义,就是对数据的内容本身和关联关系等进行分析,包括但不限于需要的数据是否有、都有哪些字段、字段含义是否规范明确以及字段的分布和质量如何等。数据探查常用的分析技术手段包括主外键、字段类型、字段长度、null 值占比、枚举值分布、最小值、最大值、平均值等。

2.数据集成ETL

数据仓库的数据集成也叫ETL (抽取: extract 、转换: transform 、加载: load ),是数据平台构建的核心,也是数据平台构建过程中花费时间最多、花费精力最多的阶段。ETL泛指将数据从数据源头抽取、经过清洗、转换、关联等转换,并最终按照预先设计的数据模型将数据加载到数据仓库的过程。

(1)ETL常用工具

目前市场上有很多ETL 工具和产品可供使用,商业性的典型代表为Informatica 公司的Powercenter 、IBM 的Datastage 、微软SSIS 等,开源的有Kettle 和Ta lend 等,随着大数据以及Hadoop 的流行,目前常用的ETL 工具还包括Hive 等。

(2)ETL数据处理过程

ETL 的源头通常有多个,其处理过程也是复杂的。为了解决ETL 的多样性和复杂性,ETL 工具和工程通常引人ETL job 的概念。一个job 只完成特定的任务,整个ETL 过程也会被拆分为无数个job 来执行。job 之间的执行顺序和依赖关系也是复杂多样的,因此ETL通常都会有专门的调度和管理功能。ETL 调度模块在关键的节点都会设置“checkpoint ”(检查点),用来记录重要的中间结果、处理日志等, checkpoint 的设计也使得中断重跑变得可能。

3.数据质量

完整性:完整性是指数据信息是否存在缺失的状况,数据缺失的情况可能是整个数据记录缺失,也可能是数据中某个字段信息的记录缺失。

一致性:一致性是指数据是否遵循了统一的规范,数据集合是否保持了统一的格式。

准确性:准确性是指数据记录的信息是否存在异常或错误,是否符合业务预期。和一致性不同,存在准确性问题的数据不只是规则上的不一致,更多的是和业务规则的冲突,比如业务规定某个字段是布尔值(只可能为0 和1 ),如果数据处理中发现了其他数值(比如3 ),那就说明数据的准确性有问题。

及时性:及时性是指数据的产出时间是否及时、准时,符合预期。

4.数据屏蔽

数据仓库存储了企业的所有数据,其中有些数据是非常敏感的,比如用户的信用卡信息、身份证信息等。

数据屏蔽( data masking )就是关于对数据如何进行不可逆的处理,使得处理后的数据既能被开发测试和分析统计使用,又不会泄露任何信息的过程。

(1)替换:替换就是用预先准备的测试数据来替换真实的敏感数据,比如客户的名字可以从预先准备的姓测试库和名测试库中随机选取(也可再加随机逻辑)后拼接, 来替代客户的真实名字。替换是应用数据屏蔽并能够保留数据记录的真实外观最有效的方法之一,但是这种方法需要精心设计并预先准备大量的替换数据集。

(2)洗牌( shuffle ):洗牌和替换相似,不同点在于其替换的数据集就是被替换的数据集本身。洗牌的思想是通过某种洗牌算法将行与行之间的值进行交换,如果洗牌算法被破解,破解者将可以还原到原来的数据集,洗牌方法仅在某些特殊场景使用。

(3)删除/加扰:解决敏感信息外泄最简单有效的方式是删除敏感信息,但是这样会破坏数据完整性并给后续使用带来影响,因此一个代替方法是删除部分字符,比如信用卡号前面数字为都用×代替,仅保留最后四位的数字如×××× l ×× x xX ××× 6789 。

(4)加密:加密是解决数据屏蔽问题最复杂的方法。通过加密算法,原始数据将变为无意义的字符,只有应用“密钥”才能查看真正的原始数据,使用这种方法一定要注意保存“密匙” 。另外,加密后的数据有时对于测试和开发以及分析统计毫无意义。

你可能感兴趣的:(大数据和数据仓库)