java – 将索引列添加到现有Spark的DataFrame
发布时间:2020-12-15 02:16:05 所属栏目:Java 来源:网络整理
导读:我使用 Java运行Spark 1.5.我需要将ID / Index列附加到现有的DataFrame,例如: +---------+--------+| surname| name|+---------+--------+| Green| Jake|| Anderson| Thomas|| Corleone| Michael|| Marsh| Randy|| Montana| Tony|| Green| Julia||Brenneman
我使用
Java运行Spark 1.5.我需要将ID / Index列附加到现有的DataFrame,例如:
+---------+--------+ | surname| name| +---------+--------+ | Green| Jake| | Anderson| Thomas| | Corleone| Michael| | Marsh| Randy| | Montana| Tony| | Green| Julia| |Brenneman| Eady| | Durden| Tyler| | Corleone| Vito| | Madiro| Mat| +---------+--------+ 我希望每一行都附加索引,介于1和表记录之间的范围内.索引顺序无关紧要,任何行都必须只包含唯一的ID /索引.它可以通过转换为RDD并将索引行和转换附加到具有修改的StructType的DataFrame来完成,但是,如果我理解正确,此操作会消耗大量资源用于转换等,并且必须有另一种方式. +---------+--------+---+ | surname| name| id| +---------+--------+---+ | Green| Jake| 3| | Anderson| Thomas| 5| | Corleone| Michael| 2| | Marsh| Randy| 10| | Montana| Tony| 7| | Green| Julia| 1| |Brenneman| Eady| 2| | Durden| Tyler| 9| | Corleone| Vito| 4| | Madiro| Mat| 6| +---------+--------+---+ 谢谢. 解决方法
我知道这个问题可能还有一段时间,但你可以这样做:
from pyspark.sql.window import Window w = Window.orderBy("myColumn") withIndexDF = originalDF.withColumn("index",row_number().over(w)) > myColumn:数据框中的任何特定列.> originalDF:没有索引列的原始DataFrame. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读