如何使用psyaprk的数据框来获取withColumn?

时间:2017-10-31 09:39:05

标签: python timestamp pyspark apache-spark-sql pyspark-sql

enter image description here

我想要<ul class="list-group"> <li class="list-group-item"> <label> {{Datalist[0].status}} </label> <span class="pull-right">{{Datalist[0].id}}</span> </li> </ul> 来改变2017-03-01 02:00:00,但第一张图片是2017-03-01,第二张图片是2021=2017+3+1

2 个答案:

答案 0 :(得分:3)

您可以使用to_date将TimeStamp转换为日期。

import pyspark.sql.functions as psf
df1.withColumn("day", psf.to_date("T_START"))

连接不能与pyspark中的+一起使用,您必须使用对列进行操作的函数concat'-'应该在lit中)。或concat_ws,它的作用类似于python join,使用相同的分隔符连接字符串。

monthdayofmonth将返回整数,您不会有0尾随。

答案 1 :(得分:1)

这里是您想要的解决方案:

    import pyspark.sql.functions as F
    df = df.withColumn("day", F.udf(lambda x : x.split(" ")[0])(F.col("T_START"))

如果要将列转换为日期类型,可以将其强制转换为:

    import pyspark.sql.types as T
    df = df.withColumn("day", col("day").cast(T.DateType()))