Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Spark中的日期时间转换_Scala_Apache Spark - Fatal编程技术网

Scala Spark中的日期时间转换

Scala Spark中的日期时间转换,scala,apache-spark,Scala,Apache Spark,看来我无法使date\u格式工作。使用我知道的格式处理我的数据(见下文) 我明白了 阅读文档时,我理解date\u格式应接受任何SimpleDateFormat。对吗 我可以通过以下代码的痛苦使其工作: val timestamp_parser = new SimpleDateFormat("MMM-dd-yyyy hh:mm:ss:SSS a (z)") val udf_timestamp_string_to_long = udf[Long, String]( timestamp_parser

看来我无法使
date\u格式
工作。使用我知道的格式处理我的数据(见下文)

我明白了

阅读文档时,我理解
date\u格式
应接受任何
SimpleDateFormat
。对吗

我可以通过以下代码的痛苦使其工作:

val timestamp_parser = new SimpleDateFormat("MMM-dd-yyyy hh:mm:ss:SSS a (z)")
val udf_timestamp_string_to_long = udf[Long, String]( timestamp_parser.parse(_).getTime() )
val udf_timestamp_long_to_sql_timestamp = udf[Timestamp, Long]( new Timestamp(_) )
dat.withColumn("ts", udf_timestamp_long_to_sql_timestamp(udf_timestamp_string_to_long(dat("timestamp")))).select("timestamp", "ts").first

res314: org.apache.spark.sql.Row = [Aug-11-2016 09:21:43:749 PM (CEST),2016-08-11 21:21:43.749]

我不确定是否能帮上忙……如果您想将字符串转换为时间戳字段,可能会出现重复,因为您使用了错误的函数<代码>日期\格式用于创建格式化字符串,而不是分析日期。@zero323 Hmmm这太尴尬了。@CedricH。发生在我们当中最好的人身上:)
val timestamp_parser = new SimpleDateFormat("MMM-dd-yyyy hh:mm:ss:SSS a (z)")
val udf_timestamp_string_to_long = udf[Long, String]( timestamp_parser.parse(_).getTime() )
val udf_timestamp_long_to_sql_timestamp = udf[Timestamp, Long]( new Timestamp(_) )
dat.withColumn("ts", udf_timestamp_long_to_sql_timestamp(udf_timestamp_string_to_long(dat("timestamp")))).select("timestamp", "ts").first
res314: org.apache.spark.sql.Row = [Aug-11-2016 09:21:43:749 PM (CEST),2016-08-11 21:21:43.749]