将带有字符串索引的运行数字添加到 Spark 中的数据框?

Posted

技术标签:

【中文标题】将带有字符串索引的运行数字添加到 Spark 中的数据框?【英文标题】:Adding a running number with string index to a dataframe in Spark? 【发布时间】:2021-03-01 16:46:01 【问题描述】:

Spark 新手。是否可以将索引列添加到现有数据集,该数据集是字符串和流水号的组合

现在正在使用 monotonically_increasing_id 函数创建一个动态索引

List<Employee> columns = Arrays.asList(new Employee("john" ,"Lead"), new Employee("Doe" ,"Master"));
dataset = dataset.withColumn("index",monotonically_increasing_id());
dataset = dataset.select(col("index"),col("name"),col("desc"));

 index|name|  desc|
+-----+----+------+
|    0|john|  Lead|
|    1| Doe|Master|

希望索引列带有字符串和索引号。像下面的东西

 index|name|  desc|
+-----+----+------+
|   E0|john|  Lead|
|   E1| Doe|Master|

【问题讨论】:

【参考方案1】:

您可以使用concat在开头添加E

dataset = dataset.select(concat(lit("E"), col("index")).alias("index"),col("name"),col("desc"));

【讨论】:

以上是关于将带有字符串索引的运行数字添加到 Spark 中的数据框?的主要内容,如果未能解决你的问题,请参考以下文章

将索引列添加到现有 Spark 的 DataFrame

Spark VectorSlice 向量切片

Javascript将数字添加到带有按钮的文本框[重复]

使用 PySpark 将多个数字列拟合到 spark-ml 模型中

根据索引从数组中删除对象

重新索引缺少类别的多级索引