Dynamics F&O导出至Synapse Serverless查询报错解决方案咨询
解决Dynamics F&O导出到Synapse数据湖后的间歇性查询报错问题
架构概述
- Dynamics F&O ERP → F&O内置Export to Datalake功能 → Synapse Data Lake → Synapse Serverless数据库(由指向数据湖文件的视图构成)
问题现象
查询部分表时出现间歇性报错,报错信息如下:
OLE DB or ODBC error: [DataSource.Error] Microsoft SQL: Error encountered while parsing data: 'Unexpected end-of-input within record at [byte: 179132185]. '. Underlying data description: file 'Tables/ProfessionalServices/ProjectManagementAndAccounting/Transaction/ProjInvoiceEmpl/PROJINVOICEEMPL_00003.csv'. Statement ID: {1F343EAF-0F1D-4693-A79B-84EFAEFA3175} | Query hash: 0x5DB5B39FB3B72B73 | Distributed request ID: {2D4C2C9F-8912-4548-8D34-7C62732DEF6D}. Total size of data scanned is 3984 megabytes, total size of data moved is 90 megabytes, total size of data written is 0 megabytes..
问题定位
90%确定问题源于查询时F&O正在更新对应的CSV文件,依据如下:
- 报错文件均为刚完成更新的文件
- 问题间歇性出现,SSMS和Power BI中均可复现
- 报错集中在高频更新表
- 报错频率与业务时段正相关
已尝试方案
- 在Serverless视图中启用
ROWSET_OPTIONS = '{"READ_OPTIONS":["ALLOW_INCONSISTENT_READS"]}',未解决问题 - 考虑过CETAS,但会丢失近实时性并增加复杂度,暂不采用
可行解决方案
Dynamics F&O侧调整
- 启用原子写入策略
F&O的Export to Datalake支持先将更新内容写入临时文件,完成后再重命名为目标文件。开启此设置后,查询只会读取完整的最终文件,避免读取未写完的半文件。 - 优化高频表导出配置
- 对高频更新表设置增量导出而非全量覆盖,减少文件写入时长和被查询时处于写入状态的概率;
- 错开业务高峰时段执行全量更新操作。
- 开启文件版本控制
在F&O导出设置中启用文件版本保留,每次更新生成新的文件版本(而非覆盖原有文件),Serverless视图指定读取最新的已完成版本文件,避开正在写入的文件。
Synapse Data Lake侧优化
- 使用ADLS Gen2快照读取
针对数据湖文件开启快照功能,在Serverless视图中通过指定快照时间戳读取文件的快照版本,绕开正在写入的实时文件。示例SQL:
可结合自动化脚本定期获取最新可用快照时间戳,动态更新视图的读取参数。SELECT * FROM OPENROWSET( BULK 'Tables/ProfessionalServices/ProjectManagementAndAccounting/Transaction/ProjInvoiceEmpl/PROJINVOICEEMPL_00003.csv', DATA_SOURCE = 'YourADLSDataSource', FORMAT = 'CSV', ROWSET_OPTIONS = '{"READ_OPTIONS":["SNAPSHOT_TIMESTAMP=''2024-05-20T12:00:00Z''"]}' ) AS [result] - 文件分层隔离
在数据湖中创建“待写入”和“已完成”两个目录,F&O先将文件写入“待写入”目录,完成后再移动到“已完成”目录。Serverless视图仅指向“已完成”目录下的文件,彻底避免读取未完成的文件。 - Synapse Pipeline中间缓冲
配置Synapse Pipeline监听数据湖的文件更新事件,当检测到F&O完成文件写入后,将文件复制到只读查询目录,Serverless视图查询该目录的文件。此方式既能保证近实时性,又能隔离写入与查询操作。
内容的提问来源于stack exchange,提问作者Pingyao
相关产品推荐
相关产品推荐

