本文将会为您介绍在使用Hologres过程中的常见报错,以便于您能自行排查并解决问题。

HoloStudio 50s超时

场景:使用HoloStudio的SQL Console查询数据时报错如下:

阿里云2000元代金券免费领,最新优惠1折抢购,2核4G云服务器仅799元/3年,新老用户同享,立即抢购>>>

canceling statement due to stament timeout【600s】,current sql costime:【xxx ms】

出现原因:HoloStudio sql console模块,默认不支持执行超过10分钟的命令,且为HoloStudio本身的限制无法手动设置超时时间。

解决办法:超过10分钟的命令请使用HoloStudio的终端进行操作,若是超大数据量,请使用HoloStudio的数据开发模块进行操作。常见报错_常见问题_交互式分析Hologres

分区限制

场景:查询一张分区表时,提示超过分区限制,报错如下:

ERROR: AXF Exception: specified partitions count in odps table: <project_name.table_name&gt; is: xxx, exceeds the limitation of xxx, please add stricter partition filter

出现原因:Hologres为保障查询性能,对分区表的分区数量进行了限制,一次查询所扫描的单表最大分区数量不能超过50。

解决办法:建议先对查询的数据表进行加工处理,处理为非分区表或分区小于50的表再进行分析。

transaction报错

场景:执行某个命令语句时报错如下:

ERROR: current transaction is aborted, commands ignored until end of transaction block

出现原因:前一个命令在引擎未结束执行,又在执行另外一个命令了。

解决办法:,执行rollback命令。常见报错_常见问题_交互式分析Hologres

I/O报错

场景:执行某条命令语句时,报错如下:

An I/O error occurred while sending to the backbend

常见报错_常见问题_交互式分析Hologres

解决办法:刷新页面,重新执行命令。

数据服务/JDBC报错

场景:使用交互式分析对接DataWorks-数据服务或者JDBC时,出现以下错误:

SQL state [XX000]; error code [0]; ERROR: Query could not generate plan by gporca : GPDB Expression type: Query Parameter not supported in DXL; nested exception is org.postgresql.util.PSQL

出现原因:一般原因为连接串没加扩展参数。

解决办法:在连接串后加扩展参数,如下:

jdbc:postgresql://endpoint:port/dbname?preferQueryMode=simple&tcpKeepAlive=true

外部表查询报错

场景:新建一张外部表,查询MaxCompute数据时报错如下:

ERROR: Query:[100181047458824706] Get result failed: exec sql failed => status:7 msg:ERROR: External table size 268911MB exceeded the maximum cache size 102400MB

出现原因:直接查询MaxCompute数据时,一次query只支持查询100GB以内的外部表数据。

解决办法:

  1. 查询时增加过滤条件,数据量缩小在100GB以内。
  2. 将MaxCompute表数据导入至Hologres再查询,将不会有数量限制问题,详情可以参见使用SQL将MaxCompute导入Hologres