簡體   English   中英

為 Scala 數據框中的每一行添加唯一 ID 以進行多次插入

[英]Adding unique ID for each row in scala dataframe for multiple insertions

我正在嘗試為我的 scala 數據框中的每一行設置唯一 ID,因此我可以將數據框從 databricks notebook 插入到 SQL DB 中。

val df2 = df1.withColumn("unique_ID",monotonicallyIncreasingId)

這適用於第一次攝取到 SQL DB 中。 但是當我嘗試攝取新數據時,出現重復鍵錯誤“重復鍵值是..XXXX”

如何克服為每個 SQL 攝取生成唯一鍵? 謝謝。

而不是自己手動添加標識符(我認為這是失敗的,因為monotonicallyIncreasingId總是從 0 開始,即使它已經存儲在您嘗試保存到的數據庫中),您可以向模式添加一個自動增加的標識符列您正在保存的數據庫。 每個 RDBMS 都有自己的方法來允許您執行此操作,此頁面顯示了如何在選擇的 SQL 數據庫實現上執行此操作。 例如,在 MySQL 中,您可以將AUTO_INCREMENT限定符添加到列中:

CREATE TABLE Persons (
    Personid int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (Personid)
);

保存數據框時,您不需要指定自動增加的標識符(即在上面的示例中,您的數據框應該只包含LastNameFirstName和 `Age~

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM