擅长:python、mysql、java
<p>多亏了阿里·耶斯利的帖子,我已经想出了解决办法
<a href="https://stackoverflow.com/questions/53093187/adding-hours-to-timestamp-in-pyspark-dymanically">adding hours to timestamp in pyspark dymanically</a>。
我首先将ReadDateTime转换为unix时间戳,并且只有在间隔不等于1时才添加5分钟。所以我的代码如下所示。在</p>
<pre><code> from pyspark.sql.functions import col,explode,lit
from pyspark.sql import functions as F
df = df.withColumn("ReadDateTime1", F.when(col("Interval") != lit(1)
F.unix_timestamp("ReadDateTime") +
(F.col("a")-1)*300).cast('timestamp')).otherwise(col('ReadDateTime')))
</code></pre>