Azure SQL是否支持Delta外部表?数据导入方案咨询
Azure SQL对Delta外部表的支持情况及替代方案
核心结论
Azure SQL(包含单数据库、弹性池等常规托管实例)目前不支持直接创建Delta格式的外部表,你尝试的两种语法均无法在Azure SQL中生效:
CREATE EXTERNAL FILE FORMAT file_format_name WITH (FORMAT_TYPE = DELTA);SELECT * FROM OPENROWSET(BULK '/Contoso', FORMAT='DELTA', DATA_SOURCE='Delta_ED');
原因说明
Fabric、Azure Data Explorer对Delta Lake的支持是针对大数据场景的专属适配,而Azure SQL的相关文档表述模糊,是因为Delta格式支持仅局限于SQL Server特定版本的预览特性,或仅限Azure内部特定托管场景,并不适用于常规Azure SQL服务。
替代方案(坚持使用Azure SQL时)
如果必须基于Azure SQL处理Delta文件,可采用以下两种可行方式:
- 定时脚本ETL导入:编写PowerShell、Python脚本,或使用Azure Data Factory定时读取ADLS/存储账户中的Delta文件,解析后导入Azure SQL本地表。例如用
delta-spark库读取Delta表的最新版本,再通过pyodbc写入SQL。 - 中间层格式转换:先通过Azure Fabric或Azure Data Explorer将Delta文件转换为标准Parquet/CSV格式,再通过Azure SQL的外部表或
OPENROWSET读取转换后的文件。
内容的提问来源于stack exchange,提问作者Michel Hua
相关产品推荐
相关产品推荐

