当我在pyspark中使用下面的函数时,它会创建一个带有T和+的时间戳。
版本--> Spark 3.3
如何创建具有yyyy-MM-dd HH:mm:ss.SSS格式的值的时间戳列
spark.sql("""
select current_timestamp(), now() from dbo.products
"""
).display()
预期:
2023-08-25 09:04:21.684 2023-08-25 09:04:21.684
实际:
2023-08-25T09:04:21.684+0000 2023-08-25T09:04:21.684+0000
2条答案
按热度按时间6tr1vspr1#
我得到了相同的格式,因为你得到这样使用您所需的输出转换
由于特定的实现和设置,在Databricks中show和display的默认行为可能确实显示了不同的时间戳格式。在标准PySpark中,show函数通常以“yyyy-MM-dd HH:mm:ss.SSS”格式显示时间戳,而Databricks中的display函数可以配置为以所需的“yyyy-MM-dd 'T'HH:mm:ss.SSS+0000”格式显示时间戳。
如果您在Databricks环境中工作,则可能已经将使用display设置为以更易于阅读的格式显示时间戳。如果您观察到show和display之间的不同行为,则可能是特定于数据块的功能。要确保一致性和所需的格式,您可能需要参考Databricks文档或设置以了解时间戳显示首选项。
欲了解更多信息,请访问此a link!
c9qzyr3d2#
简单的解决方案是将
timestamp
转换为string
数据类型。检查下面。