The external table creation using polybase was successful in local environment but it was unsuccessful in production where we use proxy servers for internet access. When tried to create external table in production environment I got following error "EXTERNAL TABLE access failed due to internal error: 'Java exception raised on call to HdfsBridge_IsDirExist: Error [com.microsoft.azure.storage.StorageException: An unknown failure occurred : Connection timed out: connect] occurred while accessing external file.'" I tried by enabling proxy settings using IE.Is there any way to enable proxy for SQL for creating external table which can establish connection to Azure blob.
Following are our requirement: - We need to run Polybase queries to create parquet files on Azure blob
We dont have direct internet connection on the DB server.
We need to use proxy to connect to internat externally.
We are able to create container through .Net Azure SDK after enbaling proxy inside the app.config file.
But we are not able to run the extenral table creation query from the SQL server and we are getting the below error.
"EXTERNAL TABLE access failed due to internal error: 'Java exception raised on call to HdfsBridge_IsDirExist: Error [com.microsoft.azure.storage.StorageException: An unknown failure occurred : Connection timed out: connect] occurred while accessing external file.' "
If this error is because of proxy issues, how can we give proxy for extenal table creation with azure reference.
eg: Sample external table creation is below -- EXTERNAL TABLE
CREATE EXTERNAL TABLE dbo.SampleExternal (
DateId INT NULL,
CalendarQuarter TINYINT NULL,
FiscalQuarter TINYINT NULL)
WITH (LOCATION='/SampleExternal.parquet',
DATA_SOURCE=AzureStorage,
FILE_FORMAT=ParquetFile);
----- DATABASE SCOPED CREDENTIAL
CREATE DATABASE SCOPED CREDENTIAL AzureStorageCredential
WITH
IDENTITY = 'user',
SECRET = 'XXXXXXXXXXX=='
;
---DATA SOURCE
CREATE EXTERNAL DATA SOURCE AzureStorage
WITH (
TYPE = HADOOP,
LOCATION = 'wasbs://XXContainer@XXStorage.blob.core.windows.net',
CREDENTIAL = AzureStorageCredential
);