Даже не знаю что сказать) что-то не сходится)
ВОТ
Что тут не так
import spark.implicits._
val x1= BigDecimal("1483814124530")
val x2= BigDecimal("1483814124538")
val list = List(("1", x1),("2", x2))
val someDF = spark.createDataFrame(list)
someDF.withColumn("_2",(someDF("_2") /1000).cast("timestamp")).show(10,false)
val dfWrite = someDF.withColumn("_2",(someDF("_2") /1000).cast("timestamp"))
dfWrite.write.mode("overwrite").format("com.databricks.spark.avro").save("/tmp/timestamp_test")
val df_avro = spark.read.format("com.databricks.spark.avro").load("/tmp/timestamp_test")
val df_avro1 = df_avro.withColumn("_2", (df_avro("_2") / 1000).cast("timestamp"))
df_avro1.repartition(1).write.mode("overwrite").format("orc").option("compression", "snappy").save("/tmp/timestamp_test_orc")
val df_orc = spark.read.format("orc").load("/tmp/timestamp_test_orc")
df_avro.withColumn("_2", (df_avro("_2") / 1000).cast("timestamp")).select("*").show(10,false)
df_orc.select("*").show(10,false)