Мой стол как показано ниже:
+--------+-----+----+----------+
| grDate|Items|rate| unitName|
+--------+-----+----+----------+
|20131222| SOY|34.7|Samastipur|
|20131223| SOY|34.7|Samastipur|
|20131224| SOY|34.7|Samastipur|
|20131225| SOY|34.0|Samastipur|
|20131225| SOY|34.7|Samastipur|
|20131227| SOY|34.7|Samastipur|
|20131228| SOY|34.7|Samastipur|
|20131229| SOY|34.7|Samastipur|
|20131230| SOY|34.6|Samastipur|
|20131230| SOY|34.7|Samastipur|
|20131231| SOY|34.7|Samastipur|
|20140101| SOY|34.6|Samastipur|
|20140102| SOY|34.6|Samastipur|
|20140103| SOY|34.6|Samastipur|
|20140106| SOY|34.6|Samastipur|
|20140107| SOY|34.6|Samastipur|
|20140110| SOY|33.9|Samastipur|
|20140111| SOY|33.9|Samastipur|
|20140112| SOY|33.9|Samastipur|
|20140113| SOY|33.9|Samastipur|
+--------+-----+----+----------+
only showing top 20 rows
То, что я хочу, - это рассчитать среднее значение столбца ставки за неделю и создать новую таблицу с этими значениями.
Я пытаюсь выполнить этот запрос
spjsoya.createOrReplaceTempView("spjsoya")
spark.sql("SELECT grDate , (sum(total)/(WEEK(MAX(rate)) - WEEK(MIN(rate))+1)) AS rate FROM spjsoya WHERE YEAR(grDate)='2013' GROUP BY grDate").show()
но это дает мне ошибку
pyspark.sql.utils.AnalysisException: u"Undefined function: 'WEEK'. This function is neither a registered temporary function nor a permanent function registered in the database 'default'.; line 1 pos 29"
Как мне написать правильный запрос, чтобы получить среднюю неделю?