我有UTC和ISO8601的时间戳,但使用结构化流,它会自动转换为本地时间.有没有办法阻止这种转换?我想在UTC中使用它.
我正在从Kafka读取json数据,然后使用from_json Spark函数解析它们.
输入:
- {"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 Spark函数,但没有运气.