我目前正在從事將資料從 JSON 檔案攝取到 Hive 表的 Scala 作業,但我確實遇到了一些檔案的行/條目格式無效。這是示例:
[{"name":"John", "age":30, "address":"15 yemen road Yemen"},
{"name":"John", "age":30, "address":"",15 yemen road Yemen"}]
第二個條目上的地址是導致失敗的原因,我們的想法是洗掉該行。我已經嘗試添加DROPMALFORMED模式但仍然無法正常作業。
uj5u.com熱心網友回復:
您可能希望洗掉方括號并將您的輸入轉換為 NLJSON 格式:每行一個 JSON 物件。
{"name":"John", "age":30, "address":"15 yemen road Yemen"}
{"name":"John", "age":30, "address":"",15 yemen road Yemen"}
使用該輸入,Spark 設定 DROPMALFORMED 將洗掉 bad line,而現在它將洗掉整個陣列。
參見 Spark DataFrameReader
“加載一個 JSON 檔案(每行一個物件)并將結果作為 DataFrame 回傳”
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/372261.html
標籤:json 斯卡拉 阿帕奇火花 apache-spark-sql
上一篇:如何將串列傳遞給pyspark中的selectExpr方法?
下一篇:當值為串列時過濾鍵值rdd
