impala可以处理多个大型表之间的连接。确保统计是来自于所有连接表们的信息。然而,连接多个大表查询确实会消耗比较多的内存。按照以下步骤可以计算最小内存需求
假设表B小于表A(但仍然是一个大的表),查询的内存需求是右表(B),在解压、过滤和投影(仅使用某些特定列)之后,必须小于整个集群的总内存。
集群总内存需求=连接查询中数据量小的表的数据总量*谓词查询因子*投影运算因子*压缩算法比率
因此,如果您有一个10节点的集群,每个节点都有128GB的RAM,而给impala 80%个,那么您就有了1tb的impala可用内存,这超过了此需求的750GB。因此,集群可以处理 这个级别上的连接查询