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.

questionAnswers(2)

yourAnswerToTheQuestion