O Spark Strutured Streaming converte automaticamente o carimbo de data / hora para a hora local
Eu tenho meu carimbo de data e hora no UTC e ISO8601, mas usando o Streaming estruturado, ele é convertido automaticamente no horário local. Existe uma maneira de parar essa conversão? Eu gostaria de tê-lo no UTC.
Estou lendo dados json do Kafka e depois analisando-os usando ofrom_json
Função Spark.
Entrada:
{"Timestamp":"2015-01-01T00:00:06.222Z"}
Fluxo:
SparkSession
.builder()
.master("local[*]")
.appName("my-app")
.getOrCreate()
.readStream()
.format("kafka")
... //some magic
.writeStream()
.format("console")
.start()
.awaitTermination();
Esquema:
StructType schema = DataTypes.createStructType(new StructField[] {
DataTypes.createStructField("Timestamp", DataTypes.TimestampType, true),});
Resultado:
+--------------------+
| Timestamp|
+--------------------+
|2015-01-01 01:00:...|
|2015-01-01 01:00:...|
+--------------------+
Como você pode ver, a hora aumentou por si só.
PS: Eu tentei experimentar com ofrom_utc_timestamp
Função Spark, mas sem sorte.