Follow

JreNotFound error when using Azure Data Factory Data Source with ODX

Scenario

You have a working ODX Server setup using Azure Data Lake storage.  You add a new Azure Data Factory Data Source with Self Hosted Integration Runtime.  The Sync task works OK, however the Transfer task fails with the following error:

{
"errorCode": "2200",
"message": "Failure happened on 'Sink' side. ErrorCode=JreNotFound,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Java Runtime Environment cannot be found on the Self-hosted Integration Runtime machine. It is required for parsing or writing to Parquet/ORC files. Make sure Java Runtime Environment has been installed on the Self-hosted Integration Runtime machine.
,Source=Microsoft.DataTransfer.Common,''Type=System.DllNotFoundException,Message=Unable to load DLL 'jvm.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E),Source=Microsoft.DataTransfer.Richfile.HiveOrcBridge,'",
"failureType": "UserError",
"target": "Copy Table",
"details": []
}

Cause

The Azure Data Factory IR packages the data in parquet format at client side, prior to uploading to Azure Data Lake storage.  The parquet format requires Java Runtime Environment (JRE). 

Resolution

Install Java Runtime from https://www.java.com/en/download/

Reference

Was this article helpful?
0 out of 0 found this helpful

1 Comments

  • 0
    Avatar
    Rory Smith

    One of the reasons you can encounter this error when you use a different JRE than the standard Oracle one is that the Self-hosted Integration Runtime checks the availability of a JRE by polling some registry keys that the Oracle JRE sets upon installation. If you choose another JRE, you might need to check a box that fills out those registry keys for you. You might also need to set the JAVA_HOME environment variable and add the /bin subfolder to your path.

Please sign in to leave a comment.