Tôi đang sử dụng PySpark. Tôi có một cột ('dt') trong một khung dữ liệu ('canon_evt') rằng đây là một dấu thời gian. Tôi đang cố gắng để loại bỏ giây từ một giá trị DateTime. Nó ban đầu được đọc từ gỗ như một String. Sau đó, tôi cố chuyển đổi nó thành Dấu thời gian quaPySpark 1.5 Cách cắt ngắn Dấu thời gian thành Phút gần nhất từ giây
canon_evt = canon_evt.withColumn('dt',to_date(canon_evt.dt))
canon_evt= canon_evt.withColumn('dt',canon_evt.dt.astype('Timestamp'))
Sau đó, tôi muốn xóa giây. Tôi đã thử 'trunc', 'date_format' hoặc thậm chí cố ghép các mảnh lại với nhau như dưới đây. Tôi nghĩ rằng nó đòi hỏi một số loại bản đồ và sự kết hợp lambda, nhưng tôi không chắc chắn liệu Timestamp là một định dạng thích hợp, và cho dù nó có thể để thoát khỏi giây.
canon_evt = canon_evt.withColumn('dyt',year('dt') + '-' + month('dt') +
'-' + dayofmonth('dt') + ' ' + hour('dt') + ':' + minute('dt'))
[Row(dt=datetime.datetime(2015, 9, 16, 0, 0),dyt=None)]
Bạn có thể đăng hình như thế nào khi bạn đọc từ gỗ không? – WoodChopper
[Row (dt = '2015-09-16 05:39:46')], Hàng (dt = '2015-09-16 05:40:46')] – PR102012
'zero323', cảm ơn siêu nhanh Cứu giúp! – PR102012