如何在Spark SQL中为表添加递增列ID

13

我正在开发一个Spark MLlib算法。 我有的数据集格式如下:

"Company": "XXXX","CurrentTitle": "XYZ","Edu_Title": "ABC","Exp_mnth":.(还有更多类似的值)

我试图将字符串值转换为数字值。 因此,我尝试使用zipwithuniqueID为每个字符串值提供唯一值。因为某些原因,我无法将修改后的数据集保存到磁盘。 我能否使用Spark SQL以任何方式完成这项工作? 还是有更好的方法来解决这个问题?


2
抱歉...我通过这个线程找到了解决方案 https://dev59.com/7lwY5IYBdhLWcg3wCD6W - KM-Yash
请问您能否删除您的问题(因为它是重复的)?谢谢。 - Jacek Laskowski
4
可能是 Apache Spark 中的主键 的重复问题。 - Lykathia
1个回答

20

Scala

import org.apache.spark.sql.functions.monotonically_increasing_id
val dataFrame1 = dataFrame0.withColumn("index",monotonically_increasing_id())

Java

 Import org.apache.spark.sql.functions;
Dataset<Row> dataFrame1 = dataFrame0.withColumn("index",functions.monotonically_increasing_id());

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接