Что означает выражение col (с галочкой) в Spark SQL? - PullRequest
0 голосов
/ 03 января 2019

Следующий синтаксис:

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, что если 2 или 3 столбца?Здесь явно что-то не хватает.Что-то говорит мне, что это очень просто.

1 Ответ

0 голосов
/ 03 января 2019

'col - это способ ссылки на столбец с именем col, такой же как $"col" или col("col"). Немного сбивает с толку наличие столбца с именем col.

. Он работает дляme in spark 2.3

ПРИМЕР С ИМЕНЕЙ КОЛОННЫ

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...