PowerBI导入OpenSearch数据仅返回200行,需修改OpenSearch limit配置
问题描述
- 使用OpenSearch ODBC连接器(v1.5.0.0)向PowerBI(v2.128.751.0)导入数据时,「转换数据」视图可查看全部4000行数据,但表格视图、DAX查询仅能获取200行
- 示例DAX查询:
EVALUATE ROW( "DistinctCountSalesOrder", CALCULATE(COUNTROWS('my-index')) )
本该返回约4000,实际仅返回200,所有可视化组件也仅基于前200行生成
- Direct Query模式可正常工作,仅Import模式存在该问题
- 调试发现PowerBI导入数据时向OpenSearch发送请求:
{"query":"SELECT * FROM my-index LIMIT 0"}
通过Postman直接调用OpenSearch SQL插件确认,该请求仅返回200行,问题源于OpenSearch配置
解决方案
OpenSearch SQL插件默认在查询未指定有效LIMIT值(如LIMIT 0)时,会使用预设的默认行数返回数据,可通过以下两种方式修改该配置:
1. 动态修改(无需重启集群)
向OpenSearch集群发送集群设置更新请求,可选择临时或永久生效:
PUT _cluster/settings { "persistent": { "plugin.sql.query.default_limit": 10000 } }
persistent:配置永久生效,集群重启后仍保留transient:将上述参数中的persistent替换为transient,配置仅临时生效,集群重启后失效- 将
10000替换为大于实际数据行数的数值(如4000以上)
2. 静态修改(需重启节点)
在每个OpenSearch节点的opensearch.yml配置文件中添加以下参数:
plugin.sql.query.default_limit: 10000
添加完成后,重启所有OpenSearch节点使配置生效。
修改完成后重新执行PowerBI的Import模式数据导入,即可获取全部数据行。
内容的提问来源于stack exchange,提问作者Christian F
相关产品推荐
相关产品推荐

