首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在中将weblog文件的日期解析为DateType

在中将weblog文件的日期解析为DateType
EN

Stack Overflow用户
提问于 2018-03-27 18:56:01
回答 2查看 176关注 0票数 0

我有一个weblog文件,其中包含以下格式的日期:

代码语言:javascript
复制
25/Oct/2011:01:41:00 -0500

有什么方法可以直接将其解析为DateType of吗?我在Scala中使用Spark2.2。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-27 19:52:06

使用to_date实现DateType

代码语言:javascript
复制
val df = Seq(
  (1, "25/Oct/2011:01:41:00 -0500"),
  (2, "02/Nov/2012:12:33:00 -0500")
).toDF("id", "logdate")

import org.apache.spark.sql.functions._

df.select(to_date($"logdate", "dd/MMM/yyyy:HH:mm:ss Z").as("date")).
  schema
// res1: org.apache.spark.sql.types.StructType = StructType(StructField(date,DateType,true))

如果您想要TimestampType,请使用to_timestamp

代码语言:javascript
复制
df.select(to_timestamp($"logdate", "dd/MMM/yyyy:HH:mm:ss Z").as("date")).
  schema
//res2: org.apache.spark.sql.types.StructType = StructType(StructField(date,TimestampType,true))
票数 0
EN

Stack Overflow用户

发布于 2018-03-27 19:50:16

代码语言:javascript
复制
import org.apache.spark.sql.functions._

df.withColumn("my_date", to_date(unix_timestamp($"date", "dd/MMM/yyyy:HH:mm:ss ").cast("timestamp")))

这其中的一个变体适用于我:)

unix_timestamp()允许您根据java的日期格式https://docs.oracle.com/javase/tutorial/i18n/format/simpleDateFormat.html定义日期格式

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49520492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档