Add a new column to a Dataframe. New column i want it to be a UUID generator

前端 未结 3 2100
醉酒成梦
醉酒成梦 2020-12-06 03:05

I want to add a new column to a Dataframe, a UUID generator.

UUID value will look something like 21534cf7-cff9-482a-a3a8-9e7244240da7

My Researc

3条回答
  •  猫巷女王i
    2020-12-06 03:56

    You should try something like this:

    val sc: SparkContext = ...
    val sqlContext = new SQLContext(sc)
    
    import sqlContext.implicits._
    
    val generateUUID = udf(() => UUID.randomUUID().toString)
    val df1 = Seq(("id1", 1), ("id2", 4), ("id3", 5)).toDF("id", "value")
    val df2 = df1.withColumn("UUID", generateUUID())
    
    df1.show()
    df2.show()
    

    Output will be:

    +---+-----+
    | id|value|
    +---+-----+
    |id1|    1|
    |id2|    4|
    |id3|    5|
    +---+-----+
    
    +---+-----+--------------------+
    | id|value|                UUID|
    +---+-----+--------------------+
    |id1|    1|f0cfd0e2-fbbe-40f...|
    |id2|    4|ec8db8b9-70db-46f...|
    |id3|    5|e0e91292-1d90-45a...|
    +---+-----+--------------------+
    

提交回复
热议问题