Как выбрать счетчик с Spark SQL без ошибок? - PullRequest
0 голосов
/ 08 января 2020

Я пытаюсь сделать очень простое выражение select, чтобы подсчитать количество данных iPod, которые в моей таблице равны нулю в искре. Моя таблица выглядит так:

-----+------+------+------+----+-----+
| Time|Period|iPhone|  iPad|iPod|  Mac|
+-----+------+------+------+----+-----+
|Q4/98|     1|  null|  null|null|0.944|
...

Команда:

apl_df.select("count(iPod) from apl_tbl where iPod is null")

Дает: орг. apache.spark.sql.AnalysisException: cannot resolve '`count(iPod) from apl_tbl where iPod is null`' given input columns: [iPhone, iPod, Mac, Period, iPad, Time];;

И

apl_df.selectExpr("count(iPod) from apl_tbl where iPod is null")

Дает : org.apache.spark.sql.catalyst.parser.ParseException:

Пожалуйста, помогите мне исправить эту проблему и понять значение этих ошибок.

1 Ответ

3 голосов
/ 09 января 2020

Попробуйте:

apl_df.select("iPod").filter("iPod is null").count()

Или, если вы хотите использовать более знакомый синтаксис sql, вы можете попробовать

apl_df.createOrReplaceTempView("apl_tbl")

spark.sql("select count(iPod) from apl_tbl where iPod is Null")

См. Ссылку: https://spark.apache.org/docs/1.6.1/api/java/org/apache/spark/sql/DataFrame.html#selectExpr (scala .collection.Seq)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...