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

密集的排名可能的錯誤

Łukasz
新的貢獻者三世

我已刪除數據的情況下使用dense_rank函數在特定的業務關鍵來源。目前數據源沒有任何副本,所以函數應該返回1在所有情況下。問題是,密集的排名不返回適當的整數,盡管整數數據類型是:

  • 當過濾等級函數等於1,它給了我“隨機”數量的記錄。大多數dense_rank值與顯示值1越來越下降
  • 過濾等級< 1.1的時候給了我相同的結果
  • 當過濾等級> 0.9我預期數量的行
  • 當鑄造秩函數雙然後過濾等於1,它給了我預期的行數

它發生在磚運行時的13.1,所以我假設火花3.4這個問題。12.2運行時它工作,沒有問題

1接受解決方案

接受的解決方案

saipujari_spark
價值貢獻
價值貢獻

@Łukasz

謝謝你的報告。

當我看到火花3.4.0引入了改進的原因,這樣的問題。

改進:https://issues.apache.org/jira/browse/spark - 37099

類似的錯誤:https://issues.apache.org/jira/browse/spark - 44448

這個改善火星- 37099)包含的DBR 13.1:https://docs.www.eheci.com/release-notes/runtime/13.1.html

這就是為什麼你們看到這在DBR 13.1

我已經驗證了內部這似乎是固定在DBR 13.1。我請求你再測試一次,讓我們知道。

謝謝,
Saikrishna Pujari
老引發技術解決方案工程師,磚

在原帖子查看解決方案

6個回答6

Lakshay
尊敬的貢獻者三世
尊敬的貢獻者三世

你能分享你的代碼片段應用秩函數?

Łukasz
新的貢獻者三世
SELECT * 除了 (d。AssessmentNo d。UnitClassSup d。UnitTypeSup d。UnitCodeSup d。ProdUnitNo d。QuestionAnswerId d。hash_value d.load_date) dense_rank () / (m分區。UnitClassSup, m。UnitTypeSup, m。UnitCodeSup, m。AssessmentYear, m。ProdUnitNo ORDER BY m。UpdDtime DESC, m。AnswerUpdDate DESC, m。Rk QuestionAnswerId DESC)
從三角洲。“/ mnt /銀/ path_main ' m
加入三角洲。“/ mnt /銀/ path_detail ' d
(ms.AssessmentNo = qe.AssessmentNo
和ms.UnitClassSup = qe.UnitClassSup
和ms.UnitTypeSup = qe.UnitTypeSup
和ms.UnitCodeSup = qe.UnitCodeSup
和ms.ProdUnitNo = qe.ProdUnitNo
和ms.QuestionAnswerId =量化寬鬆政策。QuestionAnswerId)
這是保存為cte然後查詢過濾器rk = 1

Lakshay
尊敬的貢獻者三世
尊敬的貢獻者三世

我試著運行一個密集的排名查詢使用DBR 13.1。但是我沒有看到這個問題。你可以嚐試一個簡單的密度等級查詢在桌子上嗎

saipujari_spark
價值貢獻
價值貢獻

@Łukasz

謝謝你的報告。

當我看到火花3.4.0引入了改進的原因,這樣的問題。

改進:https://issues.apache.org/jira/browse/spark - 37099

類似的錯誤:https://issues.apache.org/jira/browse/spark - 44448

這個改善火星- 37099)包含的DBR 13.1:https://docs.www.eheci.com/release-notes/runtime/13.1.html

這就是為什麼你們看到這在DBR 13.1

我已經驗證了內部這似乎是固定在DBR 13.1。我請求你再測試一次,讓我們知道。

謝謝,
Saikrishna Pujari
老引發技術解決方案工程師,磚
歡迎來到磚社區:讓學習、網絡和一起慶祝

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

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

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

Baidu
map