我想将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, "$")
。如果这不起作用,请告诉我错误消息是什么。