我使用 clickhouse-driver 通过以下命令从 SQL 查询创建 pandas 数据框:
data = client.query_dataframe('CUSTOM SQL QUERY')
但是我收到内存错误:
ServerException:代码:241。DB::Exception:内存限制(用于查询) 超出:将使用 74.51 GiB(尝试分配 4531920 块) 字节),最大:74.51 GiB。 OvercommitTracker 决策:内存 不使用过度使用。未设置 OvercommitTracker.. 堆栈跟踪:
有没有办法对查询进行分块?我在文档中没有找到解决方案。
错误与clickhouse客户端库无关
检查您的 SQL 查询是否包含
GROUP BY
和 ORDER BY
以及子查询
尝试调整
max_bytes_before_external_group_by
https://clickhouse.com/docs/en/operations/settings/query-complexity#settings-max_bytes_before_external_group_by
和
max_bytes_before_external_sort
还请关注 https://azat.sh/presentations/2022-know-your-clickhouse/#/40