取消
顯示的結果
而不是尋找
你的意思是:

抓住與Apache-Spark拒絕數據(行)在閱讀。

sarvesh
貢獻者三世

我與Spark-Scala和接收數據在不同的格式(. csv / .xlxs /。txt等),當我試著讀/寫數據來自不同來源的任何數據庫,記錄了許多拒絕由於各種問題(特殊字符,源和目標數據類型差異表等。在這種情況下,我的整個加載失敗。

我想要的是一種方法來捕捉拒絕行成單獨的文件,繼續加載剩餘的正確記錄在數據庫表中。

基本上不停止程序的流由於一些行,抓住這些問題造成的行。

的例子,

我讀了與98完美行和2 . csv腐敗行,我想讀/寫98行到數據庫中並向用戶發送2腐敗行作為一個文件。

注:我從用戶接收數據所以我不能定義一個模式,我需要一個動態的方式讀取文件並過濾掉腐敗文件中的數據。

5回複5

Hubert_Dudek1
尊敬的貢獻者三世

您可以將損壞的記錄保存到單獨的文件:

.option (“badRecordsPath”、“/ tmp / badRecordsPath”)

允許火花過程損壞的行:

.option(“模式”,“寬容”)

您還可以創建特殊的列的記錄:

df = spark.read.csv (“/ tmp / inputFile。csv”,標題= True,模式= dataSchema enforceSchema = True, columnNameOfCorruptRecord = '的')

sarvesh
貢獻者三世

謝謝你的回複,但是我想要發展的是一個函數,可以把數據從用戶和過濾掉腐敗記錄如果有的話,這是我想做同樣的事情你做了但沒有定義的模式。

sarvesh
貢獻者三世

我可能會從一些外部來源的數據,我不能定義一個模式的數據這是閱讀在我的網站/應用程序。

werners1
尊敬的貢獻者三世

也許三角洲生活表嗎?

不確定這是你正在尋找的,自己沒有使用它。你需要模式演化和期望,所以它可能給你帶來。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map