我们在特定表上遇到Impala计算统计信息的问题。问题详情如下:
问题
Impala的计算统计语句有时需要太多时间才能完成,或者只是在特定表上失败
表格详情
尺寸:45 GB镶木地板,带有Snappy压缩
没有记录:41亿
分区:分为两列。
观察
每次在此特定表上运行计算统计信息时,我们都会观察到与impala不同的行为。有一段时间它会在8-10分钟内完成,而在其他时候它会被卡住,并且在抛出异常之前会继续运行2小时。
有时计算统计在Impala中成功运行时,stats集合的后端impala查询包含表中每列的NDV。但是在所有其他情况下,后端查询仅计算分区列的count(*)。 (有关详细信息,请参阅附件截图)
深入研究impalad错误,我发现有些节点在同时与ip-xxx-xxx-x-xxx通信时遇到问题。但是,除了这些节点,其他节点工作正常。 ./i-2f58f021/apps/impalad.ip-xxx-xxx-x-xxx.us-west-2.compute.internal.hadoop.log.INFO.20150128-053250.3948.gz:I0128 06:11:26.943601 7420状态.cc:44]无法为ip-xxx-xxx-x-xxx.us-west-2.compute.internal打开传输:22000(connect()失败:连接超时)
已尝试分辨率选项
设置NUM_SCANNER_THREAD = 2,然后运行compute stats查询。发布我们重置NUM_SCANNER_THREAD。这没有帮助。
群集大小
1 r3.2xlarge namenode | 39 AWS上的r3.2xlarge datanode
问题
impala计算统计逻辑背后的内容是什么?
是否有更多会话级属性可用于优化计算统计信息语句?
连接超时可以通过端口22000节点之间的Impalad通信是计算统计失败的原因吗?
非常感谢任何帮助。
答案 0 :(得分:0)
您可以使用impala web ui或impala日志查看触发计算统计信息时触发的查询
是的,您可以在imapla配置中更改默认超时。