Databricks ODBC Driver行数达16000及以上时失败,求解决方案与参数
解决方案:绕过Databricks ODBC驱动16000条记录限制
1. 强制禁用云获取架构
在ODBC连接配置中添加参数UseCloudFetch=0,强制驱动使用传统数据获取模式,绕过云获取架构的单批次记录限制:
- 若使用DSN配置:在ODBC数据源管理器中找到目标Databricks DSN,进入「高级」标签页添加该参数
- 若使用连接字符串:在字符串末尾追加
;UseCloudFetch=0;,示例:Driver={Databricks ODBC Driver};Host=xxx.databricks.com;Port=443;HTTPPath=/sql/1.0/warehouses/xxx;AuthMech=3;UID=token;PWD=your_token;UseCloudFetch=0;
2. 手动分页查询
通过SQL的LIMIT和OFFSET实现分批次获取数据,再在客户端合并结果。需指定唯一排序字段避免数据重复或遗漏:
-- 第一批次 SELECT * FROM your_target_table ORDER BY unique_id_field LIMIT 16000 OFFSET 0; -- 第二批次 SELECT * FROM your_target_table ORDER BY unique_id_field LIMIT 16000 OFFSET 16000;
3. 升级至最新驱动版本
旧版本Databricks ODBC驱动可能存在云获取架构的批次大小限制,升级到官方最新版驱动,大概率能修复该问题。
内容的提问来源于stack exchange,提问作者Vijred
相关产品推荐
相关产品推荐

