我将数据从 PostgreSQL 表复制到 parquet 文件。源是:SELECT * FROM
我知道在源端将时间戳转换为字符串会有所帮助,但我使用“SELECT * FROM”和动态更改的表名,因此我无法控制任何单个列及其类型。我无法应用这样的选角。
知道如何禁用 ADF 复制活动中不必要的转换或任何解决方法吗?
经过一番研究,我发现了这篇文章:https://learn.microsoft.com/en-us/answers/questions/395981/self-hosted-integration-runtime-and-in Correct-date
它表明时间戳转换是在自托管集成运行时端进行的。我使用 SHIR 从 PostgreSQL 进行摄取。 在这篇文章之后,我将部署 SHIR 的计算机上的时区更改为 UTC,这生效了! 更改后,目标镶木地板文件中的时间戳是正确的。 但这只是一种解决方法。在我的具有许多源系统的分布式环境中,为所有系统强制执行时区是有问题的。
我的第一个请求仍然有效:有没有办法在复制活动中禁用时间戳转换?
我尝试复制您的问题,但它对我来说工作正常,您可以在下图中看到时间没有差异。
镶木地板文件将日期时间转换为 UTC 并将其保存在数据字段中,不带时区。然而,parquet 文件确实将时区存储在其架构中。