Spark spark.sql.session.timeZone не работает с источником JSON - PullRequest
0 голосов
/ 11 ноября 2018

При чтении из файла JSON зависит ли Spark v2.3.1 от местного часового пояса?

Мой src/test/resources/data/tmp.json:

[
  {
    "timestamp": "1970-01-01 00:00:00.000"
  }
]

и искровой код:

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 автоматически преобразует метку времени в местное время , поскольку при условии, что решение не работает для меня и уже включено (см. .config("spark.sql.session.timeZone", "UTC") ) в мой вопрос.

...