Impala: Reducing query concurrency or configuring admission control may help avoid this error

关键字

  • Impala
  • 并发
  • 内存
  • 报错

问题描述

在进行impala查询时,抛出错误如下

ExecQueryFInstances rpc query_id=834132baf107d21a:e64f75ab00000000 failed: Failed to get minimum memory reservation of 137.00 MB on daemon cdh1:22000 for query 834132baf107d21a:e64f75ab00000000 due to following error: Failed to increase reservation by 137.00 MB because it would exceed the applicable reservation limit for the “Process” ReservationTracker: reservation_limit=406.30 MB reservation=274.00 MB used_reservation=0 child_reservations=274.00 MB The top 5 queries that allocated memory under this tracker are: Query(bd4eefab92013517:14a5ad300000000): Reservation=137.00 MB ReservationLimit=382.40 MB OtherMemory=3.43 MB Total=140.43 MB Peak=140.43 MB Query(714067a7cd0fe643:36e307d00000000): Reservation=137.00 MB ReservationLimit=382.40 MB OtherMemory=3.08 MB Total=140.08 MB Peak=140.43 MB Query(834132baf107d21a:e64f75ab00000000): Reservation=0 ReservationLimit=382.40 MB OtherMemory=0 Total=0 Peak=0 Memory is likely oversubscribed. Reducing query concurrency or configuring admission control may help avoid this error. ;
nested exception is java.sql.SQLException: ExecQueryFInstances rpc query_id=834132baf107d21a:e64f75ab00000000 failed: Failed to get minimum memory reservation of 137.00 MB on daemon cdh1:22000 for query 834132baf107d21a:e64f75ab00000000 due to following error: Failed to increase reservation by 137.00 MB because it would exceed the applicable reservation limit for the “Process” ReservationTracker: reservation_limit=406.30 MB reservation=274.00 MB used_reservation=0 child_reservations=274.00 MB The top 5 queries that allocated memory under this tracker are: Query(bd4eefab92013517:14a5ad300000000): Reservation=137.00 MB ReservationLimit=382.40 MB OtherMemory=3.43 MB Total=140.43 MB Peak=140.43 MB Query(714067a7cd0fe643:36e307d00000000): Reservation=137.00 MB ReservationLimit=382.40 MB OtherMemory=3.08 MB Total=140.08 MB Peak=140.43 MB Query(834132baf107d21a:e64f75ab00000000): Reservation=0 ReservationLimit=382.40 MB OtherMemory=0 Total=0 Peak=0 Memory is likely oversubscribed.
Reducing query concurrency or configuring admission control may help avoid this error.

解决办法

  • 从报错中可以看出是由于并发查询所导致的资源不足,因此,需要先看下impala的配置,找到相关配置。
  • 于是找到了如下配置,果然,内存限制太小导致的,只有512M,远远不够任务所需要的,调大此配置。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当Python跑批过程中出现Impala异常"AnalysisException: 自定义函数未知",通常是由于在Impala查询中使用了一个在Impala中未定义或无法识别的自定义函数。 Impala是一个为了高速查询而设计的分布式SQL查询引擎。它拥有许多内置的函数供用户使用。然而,有时用户需要使用自定义函数来满足特定的需求。当我们尝试在Impala查询中调用自定义函数时,如果Impala无法找到这个函数的定义或者无法识别这个函数,就会抛出"AnalysisException: 自定义函数未知"异常。 解决这个问题的方法有以下几个步骤: 1. 确保已正确定义自定义函数:首先检查自定义函数的定义是否正确,包括函数名称、参数数目和类型等。如果自定义函数的定义有误,需要进行修正。 2. 检查函数是否已正确注册:在Impala中,我们需要通过注册函数来告诉Impala该函数的存在。通过在命令行或Impala客户端中执行REGISTER FUNCTION语句,将自定义函数注册到Impala中。如果函数未正确注册,Impala就无法识别该函数。 3. 确保Impala版本兼容性:有时候自定义函数可能是在较新版本的Impala中开发或测试的,而正在运行的Impala环境可能是较旧版本。在这种情况下,可能会出现Impala无法识别自定义函数的情况。因此,需要确保Impala的版本兼容性,或者考虑升级Impala以支持所需的自定义函数。 4. 检查函数的依赖项:有时候自定义函数可能依赖于其他库或模块。在Impala中使用自定义函数之前,需要确保所依赖的库或模块已正确安装和配置,并能够在Impala环境中正常访问。 总结:当Python跑批过程中出现Impala异常"AnalysisException: 自定义函数未知"时,需要检查自定义函数的定义、注册情况、Impala版本兼容性以及函数的依赖项,并进行相应的修正和配置,以解决该异常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值