azure - Azure 数据工厂 v2 - 错误年份从镶木地板复制到 SQL DB
问题描述
我在使用 Azure 数据工厂 v2 时遇到了一个奇怪的问题。有一个 Spark 作业正在运行并生成 parquet 文件作为输出,然后 ADFv2 复制活动获取输出 parquet 并将数据复制到 Azure SQL 数据库中。除日期外,一切正常!当数据进入 SQL 时,年份是 1969 年。所以今天的日期(2018-11-22)将登陆为 3987-11-22。
我尝试在 Date、DateTime、DateTimeOffset 和 String 之间更改源和目标类型,但没有成功。目前我正在更正数据库中的日期,但这并不理想。
我已经使用 Parquet Viewer、Spark 和 Python(桌面)打开了 Parquet 源文件,它们都正确地将年份显示为 2018
解决方案
基于Parquet 编码定义,不Date, DateTime, DateTimeOffset and String
存在格式,因此您无需尝试使用这些格式。
基于Azure 数据工厂中 Parquet 文件的此数据类型映射:
DateTimeOffset
格式对应,我建议你在Int96
parquet文件的源上尝试这种传输。
推荐阅读
- azure-devops - 可以在 DevOps 中创建看板来显示来自两个不同项目的工作项吗?
- css - 无法在css中加载背景图像
- java - 无法使用唯一键从 Firebase 检索用户位置数据
- jenkins - 詹金斯管道 - 这个功能来自哪里
- mysql - SQL:将列值链接到列名以满足某些条件
- apache-kafka - KafkaConsumer 未能“重新订阅”
- python - 在尚未开始计算的情况下持续存在内存延迟
- postgresql - Sqoop 从 Postgre 到 Hive 并转换为 ORC 格式
- react-native - 反应本机查看 PDF
- node.js - 如何通过nodejs更新mongoDB中的嵌套对象文档?