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

兩階段加入失敗,. lang。UnsupportedOperationException:方式org.apache.parquet.column.values.dictionary.PlainValuesDictionary PlainLongDictionary美元

ChristianKeller
新的貢獻者二世

有時錯誤的一部分

“org.apache.spark。火花Exception: Exception thrown in awaitResult:".

誤差源的步驟中,我們提取第二次行,數據更新。我們可以數行,但我們不能顯示或寫成一個表。

我們的方法是:

我們進口數據一天——500.000行和所需的完整描述信息105列,但我們減少表已經列的最小數字8。

我們得到新的數據和更新。

而不是覆蓋現有行與我們更新我們想添加增量變化對現有的行。

我們導入一個初始表。

我們運行更新/附加algorithmus一旦成功,所有加入,聯盟和寫命令的工作。

我們的表模式是:

前五列和最後一列將被稱為維度,其他基地增量計算:

  • 從哪個服務器
  • 最後更新時間(如我們的進口關鍵)
  • 導入的時間
  • 一個分類信息作為整數
  • ID(如我們的過濾關鍵)
  • 一個整數類型
  • 一種雙
  • 行創建最初的一天,我們的數據庫(如我們的分區鍵)
/ / statusIdsChanged隻包含Id列val statusIdsChanged = {val statusRowsReduced = sqlContext.table (BASE_TABLE_NAME) .select statusRowsReduced (" Id ")。加入(updatedBetId statusRowsReduced (" Id ") = = = updatedBetId (“updateId”)) .drop (updateId)} val狀態= sqlContext.table (BASE_TABLE_NAME) status.count () def splitNamesAt (colName: org.apache.spark.sql。數據集(行),splitName:字符串)= {val關口= colName。列cols.splitAt (cols.indexOf (splitName)}瓦爾(dimensionsStatus incrementsStatus) = splitNamesAt(地位、“Id”) / /以下值誤差源。val statusRowsChanged =狀態。加入(statusIdsChanged“Id”) .select (incrementsStatus.map (col): _ *) .drop (“deliveryDay”)

6個回答6

activescott
新的貢獻者三世

我遇到這個問題似乎是斷斷續續的。你找到一個解決方案嗎?

ChristianKeller
新的貢獻者二世

@activescott是的,我們做到了。我們發現在我們的應用程序中一些數據類型引起的問題。此外,讀取數據時發生錯誤在轉換後火花——例如,但並不總是在同一點在您的代碼中。原因是你如何寫你的數據。我們克服這個問題如下:

1。檢查數據類型我們基本數據將自動澆築在“加載火花”一步。例如在我們的例子中讀取sql整數類型引發了問題? !

2。照顧你如何激發函數或udf的改變數據類型。例如我們遇到錯誤因為我們的小數精度或等級變化。

activescott
新的貢獻者三世

謝謝Lleido。我最終發現我改變了分區DataFrame的模式,我不經意間,我縮小一個列的類型到一個整數。雖然很明顯的原因問題,事後它起初非常難以解決,因為它是不一致的。最後,我發現如果我打開“mergeSchema”選項強製模式合並所有分區,將至少清單問題立即而不是斷斷續續的不同部分的代碼運行(舊保存和訪問不同的數據幀)。合並模式:

sqlContext.read。選項(“mergeSchema”,真正的).parquet (…)

vsamma
新的貢獻者二世

所以你添加“mergeSchema”所以你會發現錯誤立即當一些列類型不匹配嗎?但是你怎麼解決實際問題相同的列有不同類型不同的相同結構數據?例如我有原始json數據,有一列應該是雙類型,但是如果偶然一組隻有完整的整數,沒有浮動點都寫在json,因此引發不知道它必須是雙它讀那麼長。當我把相同的數據寫成拚花,後來嚐試讀這與其他集合在一起,它就會失敗

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

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

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

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

Baidu
map