【发布时间】:2022-01-14 21:50:09
【问题描述】:
我正在使用 Azure 数据工厂将数据从 Oracle 数据库复制到 ADLS Gen 2 容器
在 COPY 活动中,我将 Source 添加为 Oracle DB,将 Sink 添加为 ADLS
我想在 Sink 中创建 Parquet 文件
当我点击 Mapping 时,我可以看到 Source 中的 NUMBER 数据类型在 ADF 中被转换为 Double
此外,源中的日期类型在 ADF 中转换为日期时间
因此我无法加载正确的数据
我什至尝试在 Source Query 中进行类型转换以将其转换为与源相同的格式,但 ADF 仍在将其转换为 Double
请参考以下截图:
这里的 ID 列是 Oracle DB 中的 NUMBER,但 ADF 将其视为 Double 并将 .0 添加到我不需要的数据中
即使在将其类型转换为 Number 后,它也没有显示正确的类型
此问题的可能根本原因是什么以及源数据类型未以正确格式显示的原因
因此,我创建的 Parquet 文件不正确,我的 Synapse 表(最终目标)无法添加数据,因为 Synapse 我将 ID 列保留为 Int
理想情况下,ADF 应显示与 Source 中相同的数据类型
如果您有任何解决方案或建议让我尝试,请告诉我
谢谢!
【问题讨论】:
标签: oracle azure azure-data-factory parquet azure-data-lake-gen2