/ / Usando o método DataFrame e 'where ()' que seleciona linhas onde A é maior que 5 ou B é maior que 5 - spark-dataframe

Usando o método DataFrame e 'where ()' que seleciona linhas onde A é maior que 5 ou B é maior que 5 - spark-dataframe

Dado um Spark DataFrame em uma variável t representando uma tabela com duas colunas inteiras (A, B), escreva a expressão usando as colunas DataFrame para serem passadas como parâmetro do DataFrame "s where() método que seleciona linhas onde A é maior que 5 ou B é maior que 5. Usando a variável DataFrame e não é usado pelo col() função.

Respostas:

0 para resposta № 1

Existem dois col funções: uma do Classe do conjunto de dados e um de org.apache.spark.sql.functions. Neste caso simples, ambos funcionariam:

t.where(t.col("A").gt(5).or(t.col("B").gt(5))).show() //from dataset
import org.apache.spark.sql.functions._
t.where(col("A").gt(5).or(col("B").gt(5))).show() //from functions

Dependendo de qual dos dois você quer evitar, você pode pegar o outro.

Se você usar Scala, também $ trabalho:

t.where($"A">5 or $"B">5).show

Você também pode mudar completamente para a sintaxe do sql:

t.where("A > 5 or B > 5").show

E se filter é permitido, a versão lamdba também funcionaria:

t.filter(r => r.getInt(0) > 5 || r.getInt(1) > 5).show