Spark SQL выбирает людей, которые твитят не менее 5 разных дней - PullRequest
0 голосов
/ 29 марта 2020

впервые используя Spark SQL. У меня есть DF со следующими столбцами 'weet_date', 'user_screen_name', 'user_id_str'. Моя цель состоит в том, чтобы выбрать все user_id_str и user_screen_names, которые твитнули в 5 разных днях (tweet_date).

Мой код в настоящее время выглядит так, но я считаю, что это неправильно.

task12=spark.sql("SELECT DISTINCT user_id_str, user_screen_name FROM  tweet2 WHERE (user_id_str)>=5")

Когда я заменяю

WHERE (user_id_str)>=5
#to
WHERE (tweet_date)>=5

мой вывод df пуст

Любая помощь очень ценится

1 Ответ

0 голосов
/ 29 марта 2020

Вы можете group by в столбце user_screen_names..et c и count(distinct(tweet_date)), чтобы получить количество твитов_даток.

  • отфильтровать результат с использованием having предложения.

Sample Query:

#this query results names where tweet_date count is atleast 5
spark.sql("select user_screen_name,count(distinct(tweet_date)) cnt from dd group by user_screen_name having cnt >= 5").show()
...