'col(带tick)表达式在Spark SQL中是什么意思?



以下语法:

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

相关内容

  • 没有找到相关文章

最新更新