【问题标题】:Scala , Dataframe column with a list of values, I want to create each value as new column & want to name itScala,具有值列表的 Dataframe 列,我想将每个值创建为新列并想命名它
【发布时间】:2018-11-15 20:55:14
【问题描述】:

我在下面给出了一个数据框列。

House_No = INT
family_details = ["name" , age , "surname" , weight]
Ownership = Boolean

我想为数据框创建包含姓名、年龄、姓氏和体重的新列。

House_No
family_details
Ownership
name
age
surname
weight

【问题讨论】:

    标签: scala functional-programming apache-spark-sql user-defined-functions


    【解决方案1】:

    以下解决方案将为您提供帮助:

         val data =  Array((2,Array("abc","23","xyz","70"),true),(3,Array("lmn","45","pqr","50"),false))
    
         val rdd = sc.parallelize(data)
    
         val df = rdd.toDF("house_no","family_details","ownership")
    
    val res = df.select("house_no","ownership","family_details").withColumn("name", split($"family_details" (0), ",")(0)).withColumn("age", split($"family_details"(1), ",")(0)).withColumn("surmname", split($"family_details"(2), ",")(0)).withColumn("Weight", split($"family_details"(3), ",")(0)).drop("family_details")
    

    【讨论】:

      猜你喜欢
      • 2021-01-14
      • 1970-01-01
      • 2019-08-06
      • 2018-06-11
      • 1970-01-01
      • 2017-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多