Java Azure SQL数据仓库-JVM SimpleDataFormat支持

Java Azure SQL数据仓库-JVM SimpleDataFormat支持,java,scala,apache-spark,datetime-format,azure-sqldw,Java,Scala,Apache Spark,Datetime Format,Azure Sqldw,我目前在从数据库转换时间戳时遇到了Azure SQL DW的限制 到 在我当前的场景中,我们使用Spark执行数据清理,当数据以CSV文件的形式写入时,它将以以下格式的时间戳写入: “yyyy-MM-dd'HH:MM:ss.SSSXXX” 2001-07-04T12:08:56.235-07:00 查看DATE_格式选项下的DateTimeOffset,上述输出中的粗体T不受支持 有没有办法直接将传入字符串解释为DateTime类型 我目前的策略是将其加载为VARCHAR,并在以后进行清理。

我目前在从数据库转换时间戳时遇到了Azure SQL DW的限制 到

在我当前的场景中,我们使用Spark执行数据清理,当数据以CSV文件的形式写入时,它将以以下格式的时间戳写入:

  • “yyyy-MM-dd'HH:MM:ss.SSSXXX”
  • 2001-07-04T12:08:56.235-07:00
查看DATE_格式选项下的DateTimeOffset,上述输出中的粗体T不受支持

有没有办法直接将传入字符串解释为DateTime类型


我目前的策略是将其加载为VARCHAR,并在以后进行清理。

看起来,除非在日期时间到达SQL DW之前对其本身进行转换,否则它不会因为t而被解释为datetime。最好的办法是将其作为VARCHAR加载,然后在SQL DW中作为datetime强制转换,如下所示:


我还建议您投票选择更灵活的日期时间格式,这样您就不必经历这个过程了

请提供您有什么/您迄今为止尝试了什么。如果我可以问,这与apache spark有什么关系?@eliasah与spark将时间戳输出格式化的方式有关,它在。关于Spark,我想问一下是否有一种方法可以使Spark序列化时间戳类型,使其成为外部表中SQL DW可以读取的格式。我想我问错了这个问题,这个问题最精练的版本是如何将ISO8601组合日期时间格式的时间戳字符串加载到Azure SQL DW中。