NOTE: I'm not a expert on Kylin ;) Where is mandatory? No Where is recommended? yes Where bypass the threshold? No, I think this limit is hardcoded ¿?
The real question must be: why this limit exists ?: (opinion) - The target of Kylin is Real / Near RT, limit rows --> limit response time - If Your are using JDBC, this is not a good option by performance - Protect the HBase Coprocesor - Perhaps you need a new Dim, to precalculate This Aggregate or filter by this new Dim For Extra-Large queries, you can also check: -kylin.query.mem.budget= 3GB -hbase.server.scanner.max.result.size = 100MB (limit from HBase, you can disable with -1) Good Luck, Alb 2016-10-27 11:56 GMT+02:00 张磊 <[email protected]>: > Do you mean when i query, i should add where clause, > but in some case, the number of records > threshold, how can i do? > For example, order by all groups, the number of the all groups > > threshold > > > > > ------------------ 原始邮件 ------------------ > 发件人: "Alberto Ramón";<[email protected]>; > 发送时间: 2016年10月27日(星期四) 下午5:47 > 收件人: "dev"<[email protected]>; > > 主题: Re: Exceed scan threshold at 10000001 > > > > ERROR: Scan row count exceeded threshold > > MailList > <http://mail-archives.apache.org/mod_mbox/kylin-user/ > 201608.mbox/%3CCALjEW7M_YYi7Xs55OqPdxS6pzNvD0%2BamN2AX3hetnF0%3D9uFnow% > 40mail.gmail.com%3E> > Kilin > 1787 <https://issues.apache.org/jira/browse/KYLIN-1787>v1.5.3 > > *Scan row count exceeded threshold: 1000000, please add filter condition to > narrow down backend scan range, like where clause* > > > BR, Alb > > 2016-10-27 11:40 GMT+02:00 张磊 <[email protected]>: > > > Hi > > > > > > When i query a sql, I do not know why should scan hbase? How can i do? > > Thanks! > > > > > > Table: lineorder 12,000,000 row records > > Dimensions: LO_CUSTKEY,LO_PARTKEY > > Measures: count(1), sum(LO_REVENUE) > > > > > > Query SQL: select count(1),sum(LO_REVENUE) from lineorder group by > > LO_CUSTKEY,LO_PARTKEY order by LO_CUSTKEY,LO_PARTKEY limit 50 > > > > > > I build a cude with two Dimensions and two Measures(count and sum), the > > size of the Htable is 98 MB, when i execute a query in insight, it shows > > Error in coprocessor; and i check the hbase log, i find blow messages > > > > > > 2016-10-27 02:06:13,470 INFO [B.defaultRpcServer.handler=4, > queue=1,port=16020] > > gridtable.GTScanRequest: pre aggregation is not beneficial, skip it > > 2016-10-27 02:06:13,470 INFO [B.defaultRpcServer.handler=4, > queue=1,port=16020] > > endpoint.CubeVisitService: Scanned 1 rows from HBase. > > > > > > 2016-10-27 02:24:20,884 INFO [B.defaultRpcServer.handler=6, > queue=0,port=16020] > > endpoint.CubeVisitService: Scanned 9999001 rows from HBase. > > 2016-10-27 02:24:20,889 INFO [B.defaultRpcServer.handler=6, > queue=0,port=16020] > > endpoint.CubeVisitService: The cube visit did not finish normally because > > scan num exceeds threshold > > org.apache.kylin.gridtable.GTScanExceedThresholdException: Exceed scan > > threshold at 10000001 > > at org.apache.kylin.storage.hbase.cube.v2.coprocessor. > > endpoint.CubeVisitService$2.hasNext(CubeVisitService.java:267) > > at org.apache.kylin.storage.hbase.cube.v2. > HBaseReadonlyStore$1$1. > > hasNext(HBaseReadonlyStore.java:111) > > at org.apache.kylin.storage.hbase.cube.v2.coprocessor. > > endpoint.CubeVisitService.visitCube(CubeVisitService.java:299) > > at org.apache.kylin.storage.hbase.cube.v2.coprocessor. > > endpoint.generated.CubeVisitProtos$CubeVisitService.callMethod( > > CubeVisitProtos.java:3952) > > at org.apache.hadoop.hbase.regionserver.HRegion. > > execService(HRegion.java:7815) > > at org.apache.hadoop.hbase.regionserver.RSRpcServices. > > execServiceOnRegion(RSRpcServices.java:1986) > > at org.apache.hadoop.hbase.regionserver.RSRpcServices. > > execService(RSRpcServices.java:1968) > > at org.apache.hadoop.hbase.protobuf.generated. > > ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:33652) > > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java: > 2178) > > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner. > java:112) > > at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop( > > RpcExecutor.java:133) > > at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor. > > java:108) > > at java.lang.Thread.run(Thread.java:745) >
