簡體   English   中英

Azure 數據工廠將源數據類型轉換為不同的格式

[英]Azure Data Factory Converting Source Data Type to a Different Format

我正在使用 Azure 數據工廠將數據從 Oracle 數據庫復制到 ADLS Gen 2 容器

在復制活動中,我將 Source 添加為 Oracle DB,將 Sink 添加為 ADLS

我想在 Sink 中創建 Parquet 文件

當我單擊 Mapping 時,我可以看到 Source 中的 NUMBER 數據類型在 ADF 中被轉換為 Double

此外,源中的日期類型在 ADF 中轉換為日期時間

因此我無法加載正確的數據

我什至嘗試在 Source Query 中進行類型轉換以將其轉換為與源相同的格式,但 ADF 仍在將其轉換為 Double

請找到下面的截圖作為參考:

ADF 將數字轉換為雙精度

這里 ID 列是 Oracle DB 中的 NUMBER,但 ADF 將其視為 Double 並將.0 添加到數據中,這不是我需要的

即使在將其類型轉換為 Number 后,它也沒有顯示正確的類型

此問題的可能根本原因是什么以及源數據類型未以正確格式顯示的原因

因此,我創建的 Parquet 文件不正確,我的 Synapse 表(最終目標)無法添加數據,因為 Synapse 我將 ID 列保留為 Int

理想情況下,ADF 應顯示與 Source 中相同的數據類型

如果您有任何解決方案或建議讓我嘗試,請告訴我

謝謝!

我不是 Oracle 用戶,但據我了解,NUMBER 數據類型是通用的,可以是 integer 或基於十進制的。 Parquet沒有這個概念,所以在轉換的時候基本上必須是十進制類型(比如Double),以防止數據丟失。 如果您真的希望數據是 Integer,那么您需要使用數據流(而不是 COPY)將傳入的值轉換為 integer 列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM