【转】Impala常见错误

摘要:
文章原文链接http://www.bbgo.xyz/accounts/...1、尽量少使用invalidatemetadata,尽量用REFRESHTABLE_NAME;2、setAPPX_COUNT_DISTINCT=true与ndv函数是一样的,都只是估值ImpalaSQL不支持的一个查询中的多个聚合函数使用DISTINCT如:selectcount(distinctid),count(dis

文章原文链接http://www.bbgo.xyz/accounts/...

1、尽量少使用 invalidate metadata,尽量用REFRESH TABLE_NAME;
2、set APPX_COUNT_DISTINCT=true 与 ndv 函数是一样的,都只是估值

Impala SQL 不支持的一个查询中的多个聚合函数使用 DISTINCT
如:select count(distinct id),count(distinct uid) from table;执行会报错
impala 提供了 ndv 函数 及 set APPX_COUNT_DISTINCT=true 参数。但这两个都不是精确值

3、impala 保存含中文结果到文件

  impala-shell -i hadoop07 -B -q 'select "我" from dual' -o result.txt
这个太坑了
修改  /data/cloudera/parcels/CDH-5.6.0-1.cdh5.6.0.p0.45/bin/../lib/impala-shell/impala_shell.py
添加
# coding=utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

然后修改:
query = self.imp_client.create_beeswax_query("select %s" % args,self.set_query_options)
为
 query = self.imp_client.create_beeswax_query("select %s" % (args.encode('utf-8')),self.set_query_options)

4、impala 内存限制问题,超出内存查询任务就被杀死

这个猜测有两种可能:
1、就是的确集群的内存不足就该加内存了
2、就是集群中内存足够,只是impala在生成查询计划时,计算的内存使用量比实际需要量小,这个对依赖的表都加上 compute stat 语句,这样impala 在生成查询计划时就能更准确的计算资源使用量
Memory Limit Exceeded
Query(f14d4983f27e4bc9:aef735d6523a7eb7) Limit: Consumption=7.51 GB

5、 impala not in 为 0,

 就是在使用 not in 语句时得到的结果为 0 ,但实际上并不是
 原因是表中 in 的字段有 null 值
 PS:impala这个真是坑死我了

6、cdh impala 添加 Llama服务的坑

 添加此服务是 Llama 会修改 /yarn/nm/usercache/ 目录的权限,导致hive及mr都执行不了,因为 yarn 需要此目录的读写权限,不过后来改了权限还是老有问题,干脆就撤掉此服务

7、Impala compute stats

总是遇到问题,猜测是因为元数据刷新延迟的问题,暂时在 compute status前添加 sleep 5s

免责声明:文章转载自《【转】Impala常见错误》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇.net/c#的一些常用框架中间件tomcat启动卡在了 At least one JAR was scanned for TLDs yet contained no TLDs 的根本原因与解决办法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

impala客户端连接

想要使用plsql连接oracle一样,使用类似工具连接impala的方法:ClouderaImpalaODBC32.msi下载地址:http://www.cloudera.com/downloads/connectors/impala/odbc/2-5-36.html--注意:不能使用64位的,否则后面使用SqlDbx.exe连接odbs时候会报错!(未...

单表千亿电信大数据场景,使用Spark+CarbonData替换Impala案例

【背景介绍】 国内某移动局点使用Impala组件处理电信业务详单,每天处理约100TB左右详单,详单表记录每天大于百亿级别,在使用impala过程中存在以下问题: 详单采用Parquet格式存储,数据表使用时间+MSISDN号码做分区,使用Impala查询,利用不上分区的查询场景,则查询性能比较差。 在使用Impala过程中,遇到很多性能问题(比如ca...

Centos7.X安装impala(RPM方式)

Centos7.5安装Impala 一、安装包准备1.1、Impala下载地址 http://archive.cloudera.com/beta/impala-kudu/redhat/7/x86_64/impala-kudu/0/RPMS/x86_64/ 1.2、impala依赖下载地址 http://archive.cloudera.com/cdh5/r...

impala 四舍五入后转换成string后又变成一个double的数值解决(除不尽的情况)

impala 四舍五入后转换成string后又变成一个double的数值解决(除不尽的情况)例如Query: select cast(round(2 / 3, 4)*100 as string)+---------------------------------------+| cast(round(2 / 3, 4) * 100 as string) |...

Hive/Impala批量插入数据

问题描述 现有几千条数据,需要插入到对应的Hive/Impala表中。安排给了一个同事做,但是等了好久,反馈还没有插入完成……看到他的做法是:对每条数据进行处理转换为对应的insert语句,但是,实际执行起来,速度很慢,每条数据都要耗时1s左右。比在MySQL中批量插入数据慢多了,因而抱怨Impala不太好用 问题分析 首先,必须明确的是,把每条数据处理成...

Impala中多列转为一行

之前有一位朋友咨询我,Impala中怎样实现将多列转为一行,事实上Impala中自带函数能够实现,不用自己定义函数。 以下我開始演示: -bash-4.1$ impala-shell  Starting Impala Shell without Kerberos authentication Connected to cdha:21000 Server...