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

如何使δ表列值區分大小寫?

prasadvaze
價值貢獻

我們有很多三角洲表與字符串列唯一鍵(PK在傳統的關係數據庫)和我們不想插入新行,因為鍵值隻有在情況有所不同。

很多代碼更改使用上/下函數列值比較(upsert邏輯)尋找替代

δ表列上我看到一個檢查約束可以執行一致的價值但是它太遲了,我已經有大小寫混合數據表。

有什麼類似於sql server排序特性?

spark.conf.set (“spark.sql。caseSensitive’, False)並不像預期的那樣工作(即大小寫混合價值之間的字符串比較顯示我有2個不同的字符串)

還抬起頭spark.conf.set (spark.databricks.analyzer。batchResolveRelations”,假)靜脈

我有試過7.3 lts和9.1 lts磚在azure上

8回答說8

jose_gonzalez
主持人
主持人

嗨@prasad瓦茲、

在默認情況下“spark.sql。caseSensitive”將是錯誤的。如果你想執行它,那麼您將需要設置為true。這個功能添加火花以來2。x,你可以在這裏找到更多的細節Jira

像@Werner Stinckens說,您可以重命名列名稱創建一個新表和新關口

@Jose岡薩雷斯我解列內的值區分大小寫的和不區分大小寫的列的名稱。spark.sql。caseSensitive =真正使列名稱區分大小寫,不列中的值

Sandeep
貢獻者三世

使比較不區分大小寫轉換後我們可以比較列大寫或小寫。

例如:

進口org.apache.spark.sql.functions._

df.filter(低(“colname”美元)= =低(colname)美元)

lizou
因素二世

意想不到的好處是現在我使用int \大int作為代理鍵

在DW所有表(首選)。

所有的連接都是在整數數據類型。查詢效率也提高了。

字符串匹配使用上()隻需要在ETL當比較源和目標數據。

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

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

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

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

Baidu
map