Reputation: 61
I'm running a Azure Data Factory pipeline, which also runs SQL queries against .parquet files in Storage Account Datalake attached to a Synapse Serverless Database in order to create new external tables with CETAS (CREATE EXTERNAL TABLE AS) expression. The query looks like:
IF OBJECT_ID('DatabaseName.tmp.TableName') IS NOT NULL DROP EXTERNAL TABLE DatabaseName.tmp.TableName;
CREATE EXTERNAL TABLE DatabaseName.tmp.TableName
WITH (
LOCATION = 'space=tmp/table=TableName/',
DATA_SOURCE = myDataSource,
FILE_FORMAT = myFileFormat (parquet)
) AS
SELECT * FROM DatabaseName.dbo.TableName;
The problem is I have 50% chance to get an error with the message like :
Operation on target Creat TMP Table failed: Error handling external file: 'IO request completed with an error. ERROR = 0x00000057'. Underlying data description: table 'DatabaseName.dbo.TableName'
However, if I run the pipeline one more time, it runs successfully. After a while I can run it one more time, and I'll get an error. I would be glad if someone could point out the cause of this failure.
Upvotes: 0
Views: 156
Reputation: 5317
Operation on target Creat TMP Table failed: Error handling external file: 'IO request completed with an error. ERROR = 0x00000057'. Underlying data description: table 'DatabaseName.dbo.TableName'
According to this
It seems that the issue is related to IO errors when querying external files in Azure Gen2 storage. This can happen if the files are being written to while the query is running, or if there are issues with the network connectivity or storage performance. That may be the reason to get above error.
By following above instructions, I was able to run pipeline successfully to create external table in serverless pool as shown below:
External table:
For more information you can refer to the similar thread.
Upvotes: 0