Схема имеет dataType, объявленный как Timestamp
, но задание spark не преобразует его в нужный формат.
Dataset<Row> stream = sparkSession.readStream()
.format("kafka")
.option("kafka.bootstrap.servers", kafkaBootstrapServersString)
.option("subscribe", topic)
// .option("maxOffsetsPerTrigger", 10000)
.load();
Dataset<Row> rawStream = stream
.selectExpr("CAST(value AS STRING)")
.select(from_json(col("value"), eventSpecificStructType).as("eventData"))
.select("eventData.*")
.filter(col("eventType").equalTo("Test"));
Метка времени, поступающая как 1542126896113
, преобразуется в 50838-01-28 18:49:111.0
.
Есть ли способ привести миллисекунды в формат даты и времени?