我有一个包含字符串列的配置单元表:这是一个示例:
| DT |
|-------------------------------|
| 2019-05-07 00:03:53.837000000 |
当我尝试在spark scala df中导入表,将字符串转换为时间戳时,我只有空值:
val df = spark.sql(s"""select to_timestamp(dt_maj, 'yyyy-MM-dd HH:mm:ss.SSS') from ${use_database}.pz_send_demande_diffusion""").show()
| DT |
|------|
| null |
做
val df = spark.sql(s"""select dt from ${use_database}.pz_send_demande_diffusion""").show()
给出一个很好的结果(包含字符串值的列)。所以spark正常导入te柱。
我也试过:
val df = spark.sql(s"""select to_timestamp('2005-05-04 11:12:54.297', 'yyyy-MM-dd HH:mm:ss.SSS') from ${use_database}.pz_send_demande_diffusion""").show()
成功了!它返回一个timestamps列。
有什么问题?
2条答案
按热度按时间gtlvzcf81#
修剪多余的0。那么,
结果是:
架构:
wixjitnu2#
我想你应该用下面的格式
yyyy-MM-dd HH:mm:ss.SSSSSSSSS
对于此类数据2019-05-07 00:03:53.837000000