使用spark检查数据质量

由于使用HIVE查询出来的报表数据会因为源数据的异常导致不可用,这个时候需要根据数据情况修改代码

,下面是利用spark针对几个检查项,将检查结果插入到表中


# -*- coding: utf-8 -*-

from pyspark import SparkContext
from pyspark import HiveContext
from pyspark.sql import Row
import math
import os,sys
import datetime
import time
reload(sys)
sys.setdefaultencoding('utf-8')




def f_sort(x): #python的排序函数
 sort_temp=sorted(x,key=lambda x:x[2],reverse=False)
 return sort_temp


def rate_violate(x):  
 result=[1,""]
 if len(x)<=1:
    result=[1,""]
 else:
    for i in range(1,len(x)-1):
        if math.floor((float(x[i][1])-float(x[i-1][1]))*1000/float(x[i-1][1]))<>math.floor(float(x[i][0])*10):
            return [0,x[i][2]]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值