pyspark 数据类型及转换

时间:2020-03-27 14:12:43   收藏:0   阅读:691

 

spark 有哪些数据类型 https://spark.apache.org/docs/latest/sql-reference.html

 

Spark 数据类型

Data Types

Spark SQL and DataFrames support the following data types:

对应的pyspark 数据类型在这里 pyspark.sql.types

 

一些常见的转化场景:

1. Converts a date/timestamp/string to a value of string, 转成的string 的格式用第二个参数指定

df.withColumn(test, F.date_format(col(Last_Update),"yyyy/MM/dd")).show()

技术分享图片

 

 

 

2. 转成 string后,可以 cast 成你想要的类型,比如下面的 date 型

df = df.withColumn(date, F.date_format(col(Last_Update),"yyyy-MM-dd").alias(ts).cast("date"))

技术分享图片

 

 

 

 

3. 把 timestamp 秒数(从1970年开始)转成日期格式 string

技术分享图片

 

4. unix_timestamp 把 日期 String 转换成 timestamp 秒数,是上面操作的反操作

  技术分享图片

 

   因为unix_timestamp 不考虑 ms ,如果一定要考虑ms可以用下面的方法

df1 = df.withColumn("unix_timestamp",F.unix_timestamp(df.TIME,dd-MMM-yyyy HH:mm:ss.SSS z) + F.substring(df.TIME,-7,3).cast(float)/1000)

 

 

5. timestamp 秒数转换成 timestamp type, 可以用 F.to_timestamp

  技术分享图片

 

 

 

 

Ref:

https://stackoverflow.com/questions/54337991/pyspark-from-unixtime-unix-timestamp-does-not-convert-to-timestamp

原文:https://www.cnblogs.com/mashuai-191/p/12580628.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!