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

失敗的合並字段“LIFNR”和“LIFNR”。未能IntegerType和StringType合並不兼容的數據類型

vijaykumarbotla
新的貢獻者三世

我已經導入csv文件使用火花。閱讀的方法,我用自定義模式和宣布列的類型為字符串。

我有三角洲表和表中列的類型也是字符串。

我未能在spark.write.format合並字段錯誤(“δ”)命令,

你能請建議。

1接受解決方案

接受的解決方案

vijaykumarbotla
新的貢獻者三世

你好,

問題得到解決,我列轉換和從下執行的代碼工作正常運行。

df = spark.read.format(“δ”).load (“/ mnt / dev / deltav2 / X”)

df = df。withColumn (“LIFNR df.LIFNR.cast(“字符串”))

df.write.format(“δ”)。選項(“overwriteSchema”,“真正的”).mode .save(“覆蓋”)(“/ mnt / dev / deltav2 / X”)

在原帖子查看解決方案

4回複4

werners1
尊敬的貢獻者三世

顯然並不適用於你的df的模式。

你需要檢查為什麼(假設三角洲表上校確實是string類型的)。沒有共享代碼是不可能知道的。

pvignesh92
尊敬的貢獻者

@Vijay庫馬爾

  1. 檢查你的表的模式使用描述表和dataframe加載使用df.printSchema()和比較列不匹配。你需要看看您的自定義表模式匹配的模式。
  2. MergeSchema將隻支持模式,它可以定型。
  3. 如果你想完全的dataframes重新創建表模式,您可以使用overwriteSchema選項。

請分享你的代碼,這樣我們可以幫助你。

Vidula_Khanna
主持人
主持人

嗨@Vijay庫馬爾

謝謝你發布你的問題在我們的社區!我們很高興幫助你。

幫助我們為您提供最準確的信息,請您花一些時間來回顧反應和選擇一個最好的回答了你的問題嗎?

這也將有助於其他社區成員可能也有類似的問題在未來。謝謝你的參與,讓我們知道如果你需要任何進一步的援助!

vijaykumarbotla
新的貢獻者三世

你好,

問題得到解決,我列轉換和從下執行的代碼工作正常運行。

df = spark.read.format(“δ”).load (“/ mnt / dev / deltav2 / X”)

df = df。withColumn (“LIFNR df.LIFNR.cast(“字符串”))

df.write.format(“δ”)。選項(“overwriteSchema”,“真正的”).mode .save(“覆蓋”)(“/ mnt / dev / deltav2 / X”)

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

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

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

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

Baidu
map