Я пытаюсь преобразовать следующий запрос HiveQL в PySpark:
SELECT *
FROM ex_db.ex_tbl
WHERE dt >= 20180901 AND
dt < 20181001 AND
(ABS(HOUR(FROM_UNIXTIME(local_timestamp))-13)>6 OR
(DATEDIFF(FROM_UNIXTIME(local_timestamp), '2018-12-31') % 7 IN (0,6))
Я не очень хорош в PySpark, но я просмотрел список функций.Я дошел до того, что я пытаюсь использовать функцию ABS (), но пытаюсь сделать это в PySpark.Вот что я попробовал:
import pyspark.sql.functions as F
df1.withColumn("abslat", F.abs("lat"))
An error occurred while calling z:org.apache.spark.sql.functions.abs
Это не работает.Я прочитал, что входные данные должны быть столбцом PySpark.Я проверил, и это условие выполнено.
type(df1.lat)
<class 'pyspark.sql.column.Column'>
Может кто-нибудь указать мне правильное направление?