基於spark的大資料提取校驗框架

2021-07-23 14:26:37 字數 949 閱讀 2236

在機器學習等大資料使用場景中,資料的準確性是非常重要。機器學習模型構建的再完美,如果訓練特徵資料或**的特徵資料有問題,其模型結果準確度就無法保證。就如聽車品覺老師分享大資料決策時,提到要重視和預防data broken,資料出現問題給大資料應用將帶來災難性的結果。

從技術角度講,要保證提取資料的正確性,必須要做校驗。要持續保證線上提取的資料流的正確性,人肉的單次或多次資料測試不夠的,必須在資料提取**中加上自動化校驗**,在每個資料處理的每個環節加上校驗。而在實際工作中,由於模型實驗頻繁導致提取的資料變更多、離線分析臨時性強等原因,大家更多會將精力放在資料提取的邏輯上,沒有太多時間去開發自動化校驗**,這樣會引入很大的資料質量的風險。

基於以上背景,針對資料提取中資料校驗和錯誤定位、缺失值填充等通用問題,我開發了基於spark和python語言的資料提取校驗框架wind-fe。 wind_fe資料提取框架將特徵提取(資料提取)過程中自動化校驗、缺失填充、除錯、join產出、批量回溯、自動排程執行、自動新增分割槽表等通用環節抽象復用。基於這個框架,開發者可以用較少的開發成本獲取到自動化校驗過的特徵資料,同時節約其他資料提取通用環節開發成本。該框架在自動化校驗環節也保留擴充套件點,可以在一次資料校驗任務中完成擴充套件校驗,校驗所需要的額外的資源消耗較少。該框架在我們公司多個專案中使用,並在資料回溯以及線上資料流自動生產,發現了很多上游資料問題,很好避免了錯誤資料影響模型**的準確性。

wind-fe的**框架如下:

wind-fe支援資料來源為空、出現重複資料行、部分資料列數和預期不一致、某個特徵列值全一致、多列之間存在和值相同的交叉校驗等通用。同時校驗模組中保留了校驗擴充套件點,允許自行新增自定義業務資料校驗自定義校驗函式,通過資料遍歷,即可完成所有的校驗。同時支援校驗失敗資料行以及失敗原因儲存到hdfs上,這樣可以方便進行人工定位分析錯誤資料原因。

大資料 Spark(八)

dag directed acyclic graph 叫做有向無環圖 有方向,無閉環,代表著資料的流向 原始的rdd通過一系列的轉換就形成了dag。下圖是基於單詞統計邏輯得到的dag有向無環圖 乙個job會被拆分為多組task,每組任務被稱為乙個stage。stage表示不同的排程階段,乙個spar...

大資料框架 spark

rdd 彈性分布式資料集。operation transformation 和action,乙個返回rdd,乙個返回值。lineage rdd之間的依賴關係,如何演變過來。partition rdd分割槽,按block切分 narrow dependency 窄依賴 父rdd全進入子rdd wide...

Spark 大資料的電花火石!

什麼是spark?可能你很多年前就使用過spark,反正當年我四六級單詞都是用的星火系列,沒錯,星火系列的洋名就是spark。當然這裡說的spark指的是apache spark,apache spark is a fast and general engine for large scale da...