gpt4 book ai didi

scala - 如何从字符串在 Spark 中创建 TimestampType 列

转载 作者:行者123 更新时间:2023-12-04 22:18:48 25 4
gpt4 key购买 nike

我有一些包含在字符串数组中的数据,如下所示(仅作为示例):

val myArray = Array("1499955986039", "1499955986051", "1499955986122")

我想将我的列表映射到一个时间戳数组,以便创建一个 RDD (myRdd) 然后创建一个像这样的数据帧
val df = createdataframe(myRdd, StructType(StructField("myTymeStamp", TimestampType,true)

我的问题不是如何创建 Rdd,而是如何通过毫秒时间戳替换字符串。你有什么主意吗?谢谢

最佳答案

使用 java.sql.Timestamp :

val myArray = Array("1499955986039", "1499955986051", "1499955986122")
import java.sql.Timestamp
import org.apache.spark.sql.Row
import org.apache.spark.sql.types.{StructType, StructField, TimestampType}

val rdd = sc.parallelize(myArray).map(s => Row(new Timestamp(s.toLong)))

val schema = StructType(Array(StructField("myTymeStamp", TimestampType, true)))

spark.createDataFrame(rdd, schema)
// res25: org.apache.spark.sql.DataFrame = [myTymeStamp: timestamp]

关于scala - 如何从字符串在 Spark 中创建 TimestampType 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45148365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com