根据列的值在spark数据集中添加行号

问题描述 投票:-1回答:1

我有一个样本Dataset<Row>,如下所示

+----+----+
|col1|col2|
+----+----+
|   a|  a |
|   a|  b |
|   b|  c |
|   c|  d |
+----+----+

基于映射值Map sample ={"key1" = 2,"key2"=4},我必须向每行添加一个row_number,以使where col1 or col2 = 'a'我必须基于来自[[]的值,添加2连续的行号,其他作为4。 C0],结果应如下所示。map所在行用数字复制two次,不复制的地方,它用其后的数字复制four

col1 or col2 ='a'
java apache-spark row-number apache-spark-dataset
1个回答
0
投票
+----+----+----------+
|col1|col2|limit_fact|
+----+----+----------+
|   a|  a |         1|
|   a|  a |         2|
|   a|  b |         3|
|   a|  b |         4|
|   b|  c |         5|
|   b|  c |         6|
|   b|  c |         7|
|   b|  c |         8|
|   c|  d |         9|
|   c|  d |        10|
|   c|  d |        11|
|   c|  d |        12|
+----+----+----------+
© www.soinside.com 2019 - 2024. All rights reserved.