python - 如何使用 pyspark 将时间戳转换为 unix 格式
问题描述
我有一个带有时间戳值的数据框,例如: 2018-02-15T11:39:13.000Z 我想使用 Pyspark 将其设为 UNIX 格式。
我尝试了类似data = datasample.withColumn('timestamp_cast', datasample['timestamp'].cast('date'))
的方法,但我丢失了很多信息,因为当我的源中有毫秒信息时,我只会得到日/月/年。
结果:2018-02-15
任何想法获得unix格式并保持精度?谢谢!
解决方案
unix_timestamp
您可以通过以下方式使用内置:
from pyspark.sql.functions import unix_timestamp
df = df.withColumn('unix', unix_timestamp('timestamp'))
或者
df = df.selectExpr('unix_timestamp(timestamp)')
推荐阅读
- flutter - StreamBuilder 触发方法两次,而与变量相同的操作仅触发一次
- c - C strchr 在 HPUX 上使用 NULL 值,但在 RHEL 上使用 segfaults
- jquery - 如何以编程方式展开选定的树视图节点
- cxf - 独立 .jar org.apache.cxf.wsdl11.WSDLServiceFactory 上的空指针
- html - 如何在引导程序中将两个 div 放在同一行
- r - 如何使用 R 中的 plm 包测量一对个体的固定效应?
- laravel - 如何在 VestaCP 的单个项目中启用让我们为多个域加密 SSL?
- android - 是否可以在 Android 中使用 .mlmodel 并使用 Playground(Xcode)进行训练?
- math - 回归输出 - 是否可以仅使用系数及其 p 值计算系数的标准误差?
- firebase - Cloud Functions 模拟器中未显示写入 Cloud Firestore(模拟器)