Home > other >  SPARK + PYTHON how to add a column of a datetime types, numerical timestamp is originally a string t
SPARK + PYTHON how to add a column of a datetime types, numerical timestamp is originally a string t

Time:09-23

As title, the original timestamp is STRING type, (% d % b - % % h. Y % m. % s. % f % p) 03 - DEC 15 12.00.00.000000 AM

In general type conversion can I use withColumn CAST (' double ')

But this kind of want to change into a DATETIME types, or INT,
how to deal with?

CodePudding user response:

 

Scala> Spark. Version
Res11: String=2.0.2

Scala> Val df=sc parallelize (Seq (" 03 - DEC 15 12.00.00.000000 AM ")). ToDF
Df: org. Apache. Spark. SQL. DataFrame=[value: string]

Scala> Df. Show (false)
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +
Value | |
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +
15 12.00.00.000000 AM | | 03 - DEC -
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +

Scala> Val df2=df. WithColumn (" dateType "unix_timestamp ($" value", "dd - MMM - yy hh. Mm. Ss. SSSSSS a"))
Df2: org. Apache. Spark. SQL. DataFrame=[value: a string, dateType: bigint]

Scala> Df2. Show (false)
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- -- +
Value | | dateType |
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- -- +
| 03 - DEC 15 12.00.00.000000 AM | 1449118800 |
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- -- +

Scala> Df2. WithColumn (" newFormat from_unixtime ($" dateType ")), show (false)
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +
Value | | dateType | newFormat |
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +
| 03 - DEC 15 12.00.00.000000 AM | 1449118800 | 2015-12-03 00:00:00 |
+ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- - + -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- +



See the Java simpleDateFormat

And Spark unix_timestamp UDF
  • Related