[英]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)
);
保存数据框时,您不需要指定自动增加的标识符(即在上面的示例中,您的数据框应该只包含LastName
、 FirstName
和 `Age~
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.