):
я есть метка времени в UTC и ISO8601, но при использовании структурированной потоковой передачи она автоматически конвертируется в местное время. Есть ли способ остановить это преобразование? Я хотел бы иметь это в UTC.
Я читаю данные JSON от Кафки, а затем анализирую их, используяfrom_json
Искровая функция.
Входные данные:
{"Timestamp":"2015-01-01T00:00:06.222Z"}
Поток:
SparkSession
.builder()
.master("local[*]")
.appName("my-app")
.getOrCreate()
.readStream()
.format("kafka")
... //some magic
.writeStream()
.format("console")
.start()
.awaitTermination();
Схема:
StructType schema = DataTypes.createStructType(new StructField[] {
DataTypes.createStructField("Timestamp", DataTypes.TimestampType, true),});
Выход:
+--------------------+
| Timestamp|
+--------------------+
|2015-01-01 01:00:...|
|2015-01-01 01:00:...|
+--------------------+
Как видите, час увеличился сам собой.
PS: я пытался поэкспериментировать сfrom_utc_timestamp
Функция искры, но не повезло.