Получение pyspark. sql .utils.ParseException: несоответствующий ввод '(' ожидается {<EOF>) - PullRequest
1 голос
/ 03 мая 2020

Я пытаюсь ранжировать столбец «Продукт» на основе выручки из нижеприведенного фрейма данных - salesDF

salesDF=
+-------------+-------+---------+----------+-------+
|transactionID|Product| category|produtType|Revenue|
+-------------+-------+---------+----------+-------+
|          105| Lenova|   laptop|      high|  40000|
|          111| Lenova|   tablet|    medium|  20000|
|          103|   dell|   laptop|     medum|  25000|
|          107| iphone|cellPhone|     small|  70000|
|          113| lenovo|cellPhone|    medium|   8000|
|          108|     mi|cellPhone|     medum|  10000|

Теперь ниже iam использую спарк sql для ранжирования каждого Продукта на основе выручки

rankTheRevenue= salesDF.createTempView("Ranking_DF")
rankProduct= session.sql("select Product, Revenue, rank() over(partion by Product order by Revenue) as Rank_revenue from Ranking_DF")
rankProduct.show()

Но я получаю следующую ошибку

pyspark.sql.utils.ParseException: 
mismatched input '(' expecting {<EOF>, ',', 'CLUSTER', 'DISTRIBUTE', 'EXCEPT', 'FROM', 'GROUP', 'HAVING', 'INTERSECT', 'LATERAL', 'LIMIT', 'ORDER', 'MINUS', 'SORT', 'UNION', 'WHERE', 'WINDOW', '-'}(line 1, pos 36)

Благодарю, если кто-нибудь может помочь мне решить эту проблему

Спасибо

1 Ответ

0 голосов
/ 04 мая 2020

У вас есть опечатка в partition by в качестве partion by.

Попробуйте:

rankTheRevenue= salesDF.createTempView("Ranking_DF")
rankProduct= session.sql("select Product, Revenue, rank() over(partition by Product order by Revenue) as Rank_revenue from Ranking_DF")
rankProduct.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...