如何使用scala在Spark中的DataFrame.selectExpr()方法中传递单个字符串中的所有列名



我正在将所有列一一传递给userJourney数据帧,其工作原理如下:

var transformedUserJourney: DataFrame = userJourney.selectExpr("userid", "time", "channel")

但是如何在一个字符串中传递数据框的所有列,例如

var str :string =

"\"userid \" +","\"time\" + ",\"channel\"

var transformedUserJourney: DataFrame = userJourney.selectExpr(str )

使用:

  • df.columns,它是一个带有列名的数组[字符串]
  • :_* 运算符(将数组转换为 vararg)

例如。
city_df.selectExpr( city_df.columns :_* )

在Java中,下面的工作:

Dataset ds = ds.alias("x");
Dataset ds1 = ds.selectExpr("x.*");
x

是别名,您可以使用类似于 SQL 语法的 x.*。

相关内容

  • 没有找到相关文章

最新更新