Azure SQL中BULK INSERT导入Parquet文件出现FORMAT语法错误求助
问题原因
Azure SQL 单实例数据库的BULK INSERT语法暂不支持FORMAT参数,该参数仅可在Azure SQL 托管实例、SQL Server 2022及以上版本、Azure Synapse Analytics中使用,因此会触发FORMAT附近语法错误的提示。
可行解决方案
推荐使用OPENROWSET读取Parquet文件后写入目标表,代码示例如下:
INSERT INTO [dbo].[Employees] SELECT -- 可在此处手动指定字段映射,避免Parquet与目标表字段顺序不匹配报错 * FROM OPENROWSET( BULK 'gold/employees', DATA_SOURCE = 'my_azure_blob_storage', FORMAT = 'PARQUET' ) AS ParquetSource;
注意事项
- Parquet为结构化列式存储格式,不存在表头行概念,不需要添加
FIRSTROW = 2参数,该参数仅适用于CSV等带表头的文本类存储格式 - 若Parquet文件字段顺序、数据类型与目标表
[dbo].[Employees]不完全匹配,请在SELECT子句中显式声明字段映射关系,避免插入数据错乱
内容的提问来源于stack exchange,提问作者Julaayi
相关产品推荐
相关产品推荐

