Azure SQL 数据仓库 - JVM SimpleDateFormat 支持
Azure SQL Datawarehouse - JVM SimpleDateFormat support
我目前在从 JVM SimpleDateFormat domain 转换时间戳时遇到了 Azure SQL DW 的限制
至 SQL DW's DateFormat domain.
在我当前的场景中,我们使用 Spark 执行数据清理,当数据以 CSV 文件的形式写出时,它以时间戳的形式写出,格式如下:
- "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
- 2001-07-04T12:08:56.235-07:00
查看 DATE_FORMAT 选项下的 DateTimeOffset,上面输出中的粗体 T 不受支持。
有什么方法可以直接将传入的字符串解释为DateTime类型吗?
我目前的策略是将其加载为 VARCHAR 并稍后进行清理。
看起来除非您在日期时间到达 SQL DW 之前对其进行转换,否则由于 T 原因,它不会被解释为日期时间。您最好的选择是将其作为 varchar,然后将其转换为SQL DW 中的日期时间,如下所列:https://msdn.microsoft.com/en-us/library/ms187928.aspx#Examples: Azure SQL Data Warehouse and Parallel Data Warehouse
我还建议在 feature request portal 中投票以获得更灵活的日期时间格式,这样您就不必经历这个过程
我目前在从 JVM SimpleDateFormat domain 转换时间戳时遇到了 Azure SQL DW 的限制 至 SQL DW's DateFormat domain.
在我当前的场景中,我们使用 Spark 执行数据清理,当数据以 CSV 文件的形式写出时,它以时间戳的形式写出,格式如下:
- "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
- 2001-07-04T12:08:56.235-07:00
查看 DATE_FORMAT 选项下的 DateTimeOffset,上面输出中的粗体 T 不受支持。
有什么方法可以直接将传入的字符串解释为DateTime类型吗?
我目前的策略是将其加载为 VARCHAR 并稍后进行清理。
看起来除非您在日期时间到达 SQL DW 之前对其进行转换,否则由于 T 原因,它不会被解释为日期时间。您最好的选择是将其作为 varchar,然后将其转换为SQL DW 中的日期时间,如下所列:https://msdn.microsoft.com/en-us/library/ms187928.aspx#Examples: Azure SQL Data Warehouse and Parallel Data Warehouse
我还建议在 feature request portal 中投票以获得更灵活的日期时间格式,这样您就不必经历这个过程