从JSON文件读取时,Spark v2.3.1是否依赖于本地时区吗?
我的src/test/resources/data/tmp.json
:
[
{
"timestamp": "1970-01-01 00:00:00.000"
}
]
和Spark代码:
SparkSession.builder()
.appName("test")
.master("local")
.config("spark.sql.session.timeZone", "UTC")
.getOrCreate()
.read()
.option("multiLine", true).option("mode", "PERMISSIVE")
.schema(new StructType()
.add(new StructField("timestamp", DataTypes.TimestampType, true, Metadata.empty())))
.json("src/test/resources/data/tmp.json")
.show();
结果:
+-------------------+
| timestamp|
+-------------------+
|1969-12-31 22:00:00|
+-------------------+
如何使火花返回1970-01-01 00:00:00.000
?
PS 这个问题不是Spark Strutured Streaming automatically converts timestamp to local time的重复,因为提供的解决方案对我而言不起作用,并且已经包含在我的问题中(见.config("spark.sql.session.timeZone", "UTC")
)。