大家好:
     Kylin查询时报超时异常,sql是:
      select b.dim_month_name,sum(a.ordr_amt) as 订单金额,
sum(a.pay_amt) as 支付金额,count(*) as 订单数,
count(distinct a.user_pin)as 用户数,count(distinct a.is_new) as 新用户数
from dmt.dmt_mem_vip_tx_ordr_det_i_d a
left join dim.dim_day b on a.pay_time=b.dim_day_txdate
left join dim.dim_kylin_mem_type_buss c on a.mem_type=c.mem_type
left join dim.dim_kylin_mem_type_source d on a.mem_type_source=d.mem_type_source
where b.dim_year_name='2016年'
group by b.dim_month_name
order by b.dim_month_name asc
LIMIT 50000


错误日志为:
016-06-30 17:11:36,149 ERROR [http-bio-7070-exec-10] 
controller.QueryController:209 : Exception when execute sql
java.sql.SQLException: Error while executing SQL "select 
b.dim_month_name,sum(a.ordr_amt) as 订单金额,
sum(a.pay_amt) as 支付金额,count(*) as 订单数,
count(distinct a.user_pin)as 用户数,count(distinct a.is_new) as 新用户数
from dmt.dmt_mem_vip_tx_ordr_det_i_d a
left join dim.dim_day b on a.pay_time=b.dim_day_txdate
left join dim.dim_kylin_mem_type_buss c on a.mem_type=c.mem_type
left join dim.dim_kylin_mem_type_source d on a.mem_type_source=d.mem_type_source
where b.dim_year_name='2016年'
group by b.dim_month_name
order by b.dim_month_name asc
LIMIT 50000": Timeout visiting cube!
        at org.apache.calcite.avatica.Helper.createException(Helper.java:56)
        at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
        at 
org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:143)
        at 
org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:186)
        at 
org.apache.kylin.rest.service.QueryService.execute(QueryService.java:361)
        at 
org.apache.kylin.rest.service.QueryService.queryWithSqlMassage(QueryService.java:273)
        at 
org.apache.kylin.rest.service.QueryService.query(QueryService.java:121)
        at 
org.apache.kylin.rest.service.QueryService$$FastClassByCGLIB$$4957273f.invoke(<generated>)
        at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
        at 
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:618)
        at 
org.apache.kylin.rest.service.QueryService$$EnhancerByCGLIB$$5d1a2567.query(<generated>)
        at 
org.apache.kylin.rest.controller.QueryController.doQueryWithCache(QueryController.java:192)


Caught exception in thread pool-8-thr
ead-2:
java.lang.RuntimeException: <sub-thread for GTScanRequest c66d2a5> Error when 
visiting cubes by endpoint
        at 
org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC$1.run(CubeHBaseEndpointRPC.java:345)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.SocketTimeoutException: callTimeout=60000, 
callDuration=109489: row '^@^@' on table 'KYLIN_UVD9MY6HD
P' at region=KYLIN_UVD9MY6HDP,,1467269837242.b987ac977cedbc87773275794711120d., 
hostname=jxq-23-197-78.h.chinabank.com.c
n,16020,1464677435379, seqNum=2
        at 
org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:169)
        at 
org.apache.hadoop.hbase.ipc.RegionCoprocessorRpcChannel.callExecService(RegionCoprocessorRpcChannel.java:107)
        at 
org.apache.hadoop.hbase.ipc.CoprocessorRpcChannel.callMethod(CoprocessorRpcChannel.java:56)
        at 
org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos$CubeVisitService$Stub.v
isitCube(CubeVisitProtos.java:4225)
        at 
org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC$2.call(CubeHBaseEndpointRPC.java:393)
at 
org.apache.kylin.storage.hbase.cube.v2.CubeHBaseEndpointRPC$2.call(CubeHBaseEndpointRPC.java:389)
        at org.apache.hadoop.hbase.client.HTable$15.call(HTable.java:1736)
        ... 4 more
Caused by: java.io.IOException: java.io.IOException
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2169)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107)
        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)
Caused by: java.lang.OutOfMemoryError
        at 
java.io.ByteArrayOutputStream.hugeCapacity(ByteArrayOutputStream.java:123)
        at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:117)
        at 
java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
        at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153)
        at 
org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.CubeVisitService.visitCube(CubeVisitService.java:
304)
        at 
org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos$CubeVisitService.callMe
thod(CubeVisitProtos.java:4164)
at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:7483)
        at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:1891)
        at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:1873)
        at 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:
32389)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2127)
        ... 4 more

        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
        at 
org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
        at 
org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95)
        at 
org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRemoteException(ProtobufUtil.java:326)
        at 
org.apache.hadoop.hbase.protobuf.ProtobufUtil.execService(ProtobufUtil.java:1622)
        at 
org.apache.hadoop.hbase.ipc.RegionCoprocessorRpcChannel$1.call(RegionCoprocessorRpcChannel.java:104)
        at 
org.apache.hadoop.hbase.ipc.RegionCoprocessorRpcChannel$1.call(RegionCoprocessorRpcChannel.java:94)
        at 
org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:136)
        ... 10 more
Caused by: 
org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(java.io.IOException): 
java.io.IOException
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2169)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107)
        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)
Caused by: java.lang.OutOfMemoryError
        at 
java.io.ByteArrayOutputStream.hugeCapacity(ByteArrayOutputStream.java:123)
        at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:117)
        at 
java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
        at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153)
        at 
org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.CubeVisitService.visitCube(CubeVisitService.java:
304)
        at 
org.apache.kylin.storage.hbase.cube.v2.coprocessor.endpoint.generated.CubeVisitProtos$CubeVisitService.callMe
thod(CubeVisitProtos.java:4164)
        at 
org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:7483)
        at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.execServiceOnRegion(RSRpcServices.java:1891)
        at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.execService(RSRpcServices.java:1873)
        at 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:
32389)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2127)
        ... 4 more

        at 
org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1235)
        at 
org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:222
t 
org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpc
Client.java:323)
        at 
org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.execService(ClientProtos.j
ava:32855)
        at 
org.apache.hadoop.hbase.protobuf.ProtobufUtil.execService(ProtobufUtil.java:1618)
        ... 13 more

目前cube size : 1.5GB  source records :8亿
版本: hadoop2.6   hive -hive-1.2.1   hbase 1.1.5    kylin 1.5.2

还有问题就是都有哪些点可以优化查询???

谢谢!




Reply via email to