问题一:Hologres里除法可以怎么处理可以不报错?不能直接返回nan吗?
Hologres里除法可以怎么处理可以不报错?不能直接返回nan吗?
参考答案:
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/574316
问题二:Hologres这个报错是什么原因?
Hologres这个报错是什么原因?
参考答案:
这不是报错,是notice,报错是下面的error,分母为0了
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/574315
问题三:Hologres这个问题怎么解决?
Hologres这个问题怎么解决? too many shards in this instance, the threshold is 16, now 16 used
参考答案:
"Hologres这个问题怎么解决?too many shards in this instance, the threshold is 16, now 16 used" 错误表示在当前的Hologres实例中,分片数已经达到了上限,超出了阈值。默认情况下,Hologres实例允许的最大分片数为16。
要解决这个问题,您可以尝试以下方法:
- 扩容实例:如果您的数据量已经超过了当前实例的分片上限,并且需要更多的分片来存储数据,可以考虑升级或扩容Hologres实例,以增加可支持的分片数。
- 数据清理和优化:检查并清理不再需要的数据,删除不必要的分区,以释放分片空间。另外,优化表结构、索引和查询语句,以减少数据占用和提高查询性能。
- 数据迁移和分片合并:如果有一些分片的数据量较小,您可以考虑将其与其他相邻的分片合并,以减少分片数。这可能需要进行数据迁移和重新分布操作,请注意备份数据并谨慎执行。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/574313
问题四:Hologres 是Hologres对查询数据表总大小进行新的限制了吗?
Hologres 最近我们的数据总报ERPC_ERROR_CONNECTION_CLOSED错误 是Hologres对查询数据表总大小进行新的限制了吗?
参考答案:
报错:ERROR: Query:[xxx] Build desc failed: failed to get foregin table split:ERPC_ERROR_CONNECTION_CLOSED.
报错原因:
MaxCompute小文件过多,导致请求的META超过远程过程调用协议(RPC,Remote Procedure Call Protocol)1GB的最大限制。
解决方法:
请执行以下命令进行小文件合并。
set MaxCompute.merge.task.mode=sql;
set MaxCompute.merge.lock.expire.time=0;
ALTER TABLE [PARTITION] MERGE SMALLFILES;
HologresV0.10.21及以上版本已优化,请升级Hologres实例,详情请参见实例升级。
请联系MaxCompute技术支持从源头解决,如果数据量不大可直接将数据写入Hologres。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/574311
问题五:Hologres我们在查询外表的时候,用的主键查询,会报这个错误。 只有主键会报错?
Hologres我们在查询外表的时候,用的主键查询,会报这个错误。 其他字段没有这个问题,只有主键会报错?
参考答案:
应该是读取外表是shard prune逻辑问题,可以先设置GUC : set hg_experimental_enable_shard_pruning = off; 绕过,近期会出版本修复,
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/574310
问题六:连接hologres 一直报org.怎么看下hologres里的连接线程?
连接hologres 一直报org.postgresql.util.PSQLException: FATAL: Connect to FE failed, remaining connection slots are reserved for non-replication superuser connections
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2675) ~[postgresql-42.3.7.jar!/:42.3.7]
at org.postgresql.core.v3.QueryExecutorImpl.readStartupMessages(QueryExecutorImpl.java:2787) ~[postgresql-42.3.7.jar!/:42.3.7]
at org.postgresql.core.v3.QueryExecutorImpl.(QueryExecutorImpl.java:173) ~[postgresql-42.3.7.jar!/:42.3.7]
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:290) ~[postgresql-42.3.7.jar!/:42.3.7]
at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) ~[postgresql-42.3.7.jar!/:42.3.7]
at org.postgresql.jdbc.PgConnection.(PgConnection.java:223) ~[postgresql-42.3.7.jar!/:42.3.7]
at org.postgresql.Driver.makeConnection(Driver.java:402) ~[postgresql-42.3.7.jar!/:42.3.7]
at org.postgresql.Driver.connect$original$Lf0MrImE(Driver.java:261) ~[postgresql-42.3.7.jar!/:42.3.7]
at org.postgresql.Driver.connect$original$Lf0MrImE$accessor$gqZAfVVX(Driver.java) ~[postgresql-42.3.7.jar!/:42.3.7]
at org.postgresql.Driver$auxiliary$y2QdhJCB.call(Unknown Source) ~[postgresql-42.3.7.jar!/:42.3.7]?
或者我怎么看下hologres里的连接线程
参考答案:
连接数不够了,可以查看pg_stat_activity表
您可以参考下文档
https://help.aliyun.com/zh/hologres/user-guide/manage-connections
- 当连接数不够的时候,可以用superuser登录实例去杀连接
- 推荐使用连接池,怎么推荐配置文档有写
- 普通应用对接Holo实例不要用superuser,应该用普通用户,并且设置普通用户的最大连接数
关于本问题的更多回答可点击进行查看: