針對 Azure Data Factory 和 Azure Synapse 中的 ORC 格式連接器進行疑難排解

適用於: Azure Data Factory Azure Synapse Analytics

本文提供在 Azure Data Factory 和 Azure Synapse 中針對 ORC 格式連接器的常見問題進行疑難排解的建議。

錯誤碼: OrcJAVAInvocationException

  • 訊息An error occurred when invoking Java, message: %javaException;.

  • 原因和建議:不同的原因可能會導致此錯誤。 請查看以下清單以取得可能的原因分析和相關建議。

    原因分析 建議
    當錯誤訊息包含 "OutOfMemory"、"JAVA 堆積 space" 和 "doubleCapacity" 字串時,通常是舊版 integration runtime 的記憶體管理問題。 如果您使用自我裝載的 Integration Runtime,建議您升級至最新版本。
    如果錯誤訊息包含字串 "OutOfMemory",則整合執行時間沒有足夠的資源可處理檔案。 限制整合執行時間上的並存執行。 若為自我裝載的 IR,可擴大至記憶體等於或大於 8 GB 的強大電腦。
    當錯誤訊息包含 "NullPointerReference" 字串時,原因可能是暫時性錯誤。 重試作業。 若問題持續發生,請連絡支援服務。
    當錯誤訊息包含 "BufferOverflowException" 字串時,原因可能是暫時性錯誤。 重試作業。 若問題持續發生,請連絡支援服務。
    當錯誤訊息包含 "發生 classcastexception:org. org.apache.hadoop.hive.serde2.columnar.lazybinarycolumnarserde...............。 通常,這表示無法在 JAVA 執行時間妥善處理來源資料。 這是資料問題。 請嘗試在 ORC 格式資料中使用字串,而不是 char 或 Varchar。

錯誤碼: OrcDateTimeExceedLimit

  • 訊息The Ticks value '%ticks;' for the datetime column must be between valid datetime ticks range -621355968000000000 and 2534022144000000000.

  • 原因:如果日期時間值為 ' 0001-01-01 00:00:00 ',可能是因為 Julian 日曆和西曆之間的差異所造成。

  • 建議:檢查刻度值,並避免使用日期時間值 ' 0001-01-01 00:00:00 '。

後續步驟

如需更多疑難排解的協助,請嘗試下列資源: