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

Pyspark鑄造錯誤

anandreddy23
新的因素

你好,

英國蜂巢> create table(小數(10,2));

蜂巢>創建表(小數(10、5));

蜂巢>創建視圖T作為選擇從英國union all選擇;

首先聲明在蜂巢和成功執行select語句執行時,返回結果。然而,當執行select語句從python使用pyspark我得到錯誤說“不能給從十進製小數點(10,2)(10、5)”。

理想的觀點尋找相同的數據類型和這個工作良好的源數據db(蜂窩)。這已經成為顯示製動器和Cculd你請幫我解決這個問題的可能的解決方案pyspark嗎?

提前謝謝,

阿南德。

# pyspark

2回答2

Kaniz
社區經理
社區經理

@anandreddy23,你遇到的錯誤,“不能向上的小數(10,2)小數(10、5)”,is typically due to an attempt to cast a decimal value with lower precision to a decimal value with higher accuracy.

在PySpark,鑄造操作是嚴格和不允許向上轉型向更高精度小數。這是為了防止任何潛在的數據丟失這樣的操作。你可以試著處理這個錯誤在以下方麵:

1。改變你的目標的精度小數匹配源小數精度。

2。如果你需要增加的精度小數,你可能需要把不同類型(如浮點數和雙精度數),然後投到所需的小數精度。

@Kaniz非常感謝你的快速反應。

我很抱歉,因為我不能改變數據類型或匹配的小數。再不過,我懷疑是蜂巢的DB在創建視圖和查詢沒有任何錯誤,為什麼火花要考慮規模和精度如果數據類型匹配?我們被告知火花是框架,加快閱讀和處理數據在集群中使用多個節點,但不知道它會使用自己的SQL執行計劃和規則不同於基礎數據庫

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

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

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

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

Baidu
map