我想将Spark Dataframe每行转换为String,并在每列值之间使用定界符。

例如:
我有一个输入数据框'df',其中包含3列“名字”,“姓氏”,“年龄”,其中有两个记录,如下所示。

第1行:John Abhraham 21
第2行:史蒂夫·奥斯丁22

我想只用一列创建一个新的数据框,其数据如下所示。
第1列:John $ Abhraham $ 21
第2行:Steve $ Austin $ 22

任何人都可以帮忙做到这一点。

最佳答案

我没有Spark shell ,但是我认为这只衬板应该可以做到:

def stringifyRows(df: DataFrame, sep: String): DataFrame
  = df.map(row => row.mkString(sep)).toDf("myColumnName")

对于您的示例,您将其称为stringifyRows(myDf, "$")。如果这不起作用,请告诉我错误消息是什么。

07-24 19:18
查看更多