Определить равный в scala [duplicate]

С помощью Resharper, который у вас должен быть, если вы этого не сделаете, появится окно списка дел, которое вы ищете. Он анализирует все файлы (js, css, html, c # и т. Д.). Вы можете состыковать это окно со всеми вашими окнами.

31
задан Instinct 9 July 2015 в 17:43
поделиться

7 ответов

У меня была такая же проблема, и для меня работал следующий синтаксис:

df.filter(df("state")==="TX").show()

Я использую Spark 1.6.

41
ответ дан user3487888 15 August 2018 в 20:50
поделиться

df.filter($"state" like "T%%") для сопоставления с образцом

df.filter($"state" === "TX") или df.filter("state = 'TX'") для равенства

6
ответ дан David Arenburg 15 August 2018 в 20:50
поделиться

Чтобы получить отрицание, сделайте это ...

df.filter(not( ..expression.. ))

например

df.filter(not($"state" === "TX"))
7
ответ дан dman 15 August 2018 в 20:50
поделиться
  • 1
    или вы также можете не равняться df.filter($"state" !== "TX") – stevevls 14 June 2017 в 23:45
0
ответ дан Farshad Javadi 15 August 2018 в 20:50
поделиться
16
ответ дан Jegan 15 August 2018 в 20:50
поделиться

Вы должны использовать where, select - это проекция, которая возвращает вывод инструкции, поэтому вы получаете логические значения. where - это фильтр, который сохраняет структуру фрейма данных, но сохраняет только данные, в которых работает фильтр.

В той же строке, хотя в документации вы можете записать это тремя различными способами

// The following are equivalent:
peopleDf.filter($"age" > 15)
peopleDf.where($"age" > 15)
peopleDf($"age" > 15)
12
ответ дан Justin Pihony 15 August 2018 в 20:50
поделиться
  • 1
    Я просто попробовал df.filter ($ & quot; state & quot; == & quot; TX & quot;), это не работает. ошибка: перегруженный фильтр значений метода с альтернативами: (условиеExpr: String) org.apache.spark.sql.DataFrame & lt; и & gt; (условие: org.apache.spark.sql.Column) org.apache.spark.sql.DataFrame не может быть применено к (Boolean) – Instinct 9 July 2015 в 17:54
  • 2
    Кажется, это работает. df.select (& Quot; состояние & Quot;). где (DF (& Quot; состояние & Quot;) === & Quot; АЯ & Quot;) кол. – Instinct 9 July 2015 в 17:57
  • 3
    df.filter($"state"==="TX") должен работать. Здесь вам нужно использовать тройной эквивалент, который возвращает столбец - & gt; [Д0] spark.apache.org/docs/1.3.0/api/scala/… – Justin Pihony 9 July 2015 в 18:25

Мы можем написать несколько условий Filter / where в Dataframe.

Например:

table1_df
.filter($"Col_1_name" === "buddy")  // check for equal to string
.filter($"Col_2_name" === "A")
.filter(not($"Col_2_name".contains(" .sql")))  // filter a string which is    not relevent
.filter("Col_2_name is not null")   // no null filter
.take(5).foreach(println)
3
ответ дан Phani 15 August 2018 в 20:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: