19、数据处理与实时分析:从基础到应用

数据处理与实时分析:从基础到应用

1. 数据组织与处理

1.1 数据去重范围的权衡

在数据处理中,去重是一个重要的步骤。对于全局去重,我们可以通过限制暂存区的结构来缩小其范围,例如按年、月或周进行。这样做虽然能提高性能,但会增加出现重复数据的风险。比如,若收到一年前已接收过的重复行,就可能无法识别。因此,在安全地限制全局去重范围之前,需要仔细评估业务逻辑和源数据的性质。

1.2 数据质量检查

很多采用标准数据湖方法的组织,常担心数据湖中的数据不可信,且不同数据源的数据质量参差不齐。这是因为数据湖设计本身对摄入的数据缺乏控制,数据质量完全依赖于数据源,这对于大多数用例来说是不够的。而传统关系型仓库由于有严格的模式,能对数据进行一定的约束。

在云数据平台设计中,仓库是处理后数据的目的地,不用于数据摄入,且现有的云仓库往往缺乏传统数据库中的列级约束。因此,我们可以在数据处理管道中实施必要的质量检查,数据去重就是其中一项。常见的质量检查还包括:
- 某些列的值长度应在预定义范围内。
- 数值应在合理范围内,如工资不能为负数。
- 某些列不能包含空值,且“空”的定义因列而异。
- 值必须符合特定模式,如电子邮件列应包含有效的电子邮件地址。

以下是一个使用Spark进行数据质量检查的示例代码:

users_df = spark.read.format("csv").load(in_path) 
bad_user_rows = users_df.filter("length(email) > 100 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值