【问题标题】:How to change the default time-zone used by: spark.read.jdbc while reading from SQL Server如何更改使用的默认时区:从 SQL Server 读取时 spark.read.jdbc
【发布时间】:2018-12-25 17:50:57
【问题描述】:

我正在使用 Databricks Runtime 4.2(包括 Apache Spark 2.3.1、Scala 2.11)

在 Scala 笔记本上,当我使用如下命令通过 JDBC 从 SQL Server 2012 读取数据时:

val data_frame = spark.read.jdbc( , , )

我的源表上的所有 SQL Server DATETIME 列都映射到数据框中的 TIMESTAMP 列,默认时区为 +0000。

有没有办法将动态分配的默认时区 +0000 更改为:-0700 (MTS)?

注意:如果可能,我希望不必遍历所有 TIMESTAMP 列然后应用转换,而是希望更改 JDBC 驱动程序的行为,告诉它使用不同的时区。

【问题讨论】:

    标签: scala jdbc databricks


    【解决方案1】:

    将“**serverTimezone=****”添加到您的 jdbc 连接字符串。

    【讨论】:

    • 通过快速搜索,这似乎是 MySQL 的答案,但我找不到任何说明这也适用于 SQL Server 的参考资料。例如,字符串 'serverTimezone' 不会出现在 JDBC driver source 中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 1970-01-01
    • 2020-07-24
    • 2011-09-16
    • 2015-04-06
    • 1970-01-01
    • 2012-11-25
    相关资源
    最近更新 更多