我想用scala编写的spark应用程序使用$速记。但是我有大量的列,我想使用变量引用它们。同时,我想对包含列名的字符串使用$速记符号。
df.select($"col1") // works val columnName = "col1" df.select($columnName) // gives error
如何将变量columnname与$速记一起使用?
30byixjq1#
你可能想要的是。
val columnName = $"col1" df.select(columnName) ``` `$` 是的捷径 `new ColumnName("name")`
vd2z7a6w2#
你也可以使用 col 功能。
col
df.select($"col1") val columnName = col("col1") df.select(columnName)
sq1bmfud3#
没人提到一件很重要的事- $ 是隐式的 StringToColumn 转换。你们进口了吗 spark.implicits._ ,在哪里 spark 是你的 SparkSession 反对?解决你的问题:-)
$
StringToColumn
spark.implicits._
spark
SparkSession
3条答案
按热度按时间30byixjq1#
你可能想要的是。
vd2z7a6w2#
你也可以使用
col
功能。sq1bmfud3#
没人提到一件很重要的事-
$
是隐式的StringToColumn
转换。你们进口了吗
spark.implicits._
,在哪里spark
是你的SparkSession
反对?解决你的问题:-)