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

磚的身份列值δ表不是從0開始,提高1。它總是從1或2,增加了2。下麵是示例代碼和任何邏輯輸入這是讚賞

SDas1
新的因素

火花。sql(“創建表集成。TrailingWeeks (ID bigint生成默認為身份(1)從0開始增加,Week_ID int NOT NULL)使用三角洲選項(路徑”dbfs: / <在Azure datalake路徑> /δ”)”)

1回複1

Kaniz
社區經理
社區經理

嗨@Shubhendu Das,感謝你聯係我們關於你擔心你磚的身份列值δ表。我理解這些交易並不像預期的那樣從0或增加一個。

磚三角洲湖並不能保證連續的身份價值由於其分布式特性。當δ表中創建一個標識列,生成的值是唯一的桌子對麵,但可能不是連續的。

然而,如果你需要連續身份價值觀和容忍權衡性能,您可能會考慮使用Windows功能來生成標識列的值。

這是一個如何實現這一目標的例子:

  • 首先,創建沒有標識列的表:
火花。sql(集成”“創建表。TrailingWeeks (Week_ID int NOT NULL)使用三角洲選項(路徑”dbfs: / <路徑>湖在Azure數據/δ”)”“”)
  • 接下來,將您的數據插入到表中。< your_data >替換為適當的數據來源:
火花。sql(“”“插入集成。TrailingWeeks (Week_ID)從< your_data >選擇Week_ID”“”)
  • 最後,使用一個窗口函數生成標識列的值:
火花。sql(" " "選擇ROW_NUMBER () / (ORDER BY Week_ID) - 1作為ID, Week_ID integrated.TrailingWeeks " " ")

這個方法會有性能影響,尤其對於大型數據集來說,因為它可能涉及跨集群移動數據。如果你的用例可以容忍連任的標識值,建議堅持三角洲湖提供的默認行為。

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

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

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

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

Baidu
map