Spark为collect中的每个单词分配一个数字

时间:2017-10-02 03:22:22

标签: apache-spark pyspark spark-dataframe

我在spark

中有dataFrame列的收集数据
<body>  

<form name="myform"  method="post" action="#" onsubmit="return validateemail();">  

Email: <input type="text" name="email"><br/>  

<input type="submit" value="register">  
</form>  

现在我想为每个单词分配一个数字,如果单词重复,则它具有相同的数字。 我使用Spark,RDD,而不是Pandas

请帮我解决这个问题!

1 个答案:

答案 0 :(得分:1)

您可以创建一个具有不同值的新数据框。

val data = temp.distinct()

现在您可以使用

分配一个唯一的ID
import org.apache.spark.sql.functions._ 

val dataWithId = data.withColumn("uniqueID",monotonicallyIncreasingId)

现在,您可以使用原始数据框加入此新数据框,并选择唯一ID。

val tempWithId = temp.join(dataWithId, "item_code").select("item_code", "uniqueID")

代码假设是scala。但是pyspark也应该存在类似的东西。只需将其视为指针即可。