以下语法:
def func0(x: Int => Int, y: Int)(in: DataFrame): DataFrame = {
in.filter('col > x(y))
}
不能放置"col.col"不起作用,而"col"在以下代码中正常工作:
def func1(x: Int)(in: DataFrame): DataFrame = {
in.selectExpr("col", s"col + $x as col1")
}
'col
意味着什么?
数据帧示例只有一个 col,col
,如果 2 或 3 个 col 怎么办?这里显然缺少一些东西。有些事情告诉我这很简单。
'col
是一种引用名为col
的列的方法,与$"col"
或col("col")
相同,有一个名为col
的列有点令人困惑。
它在火花 2.3 中为我工作
具有名为 NUMBER 的列的示例
df.show
+------+------+
|letter|number|
+------+------+
| a| 1|
| b| 2|
+------+------+
df.filter('number >1).show
+------+------+
|letter|number|
+------+------+
| b| 2|
+------+------+
与其他表达式相同
import spark.implicits._
df.filter($"number" >1).show
import org.apache.spark.sql.functions
df.filter(col("number") >1).show