Impala关键配置

  1. 分配给此角色的内存软限制,由 Linux 内核强制执行。当达到此限制时,内核将只在主机面临内存压力时回收已分配给进程的页面。如果回收失败,内核可能会停止这些进程。
  2. 分配给此角色的内存硬限制,由 Linux 内核强制执行。当达到此限制时,内核将会回收已分配给进程的页面。如果回收失败,内核可能会停止这些进程。
  3. Impala Daemon 服务的内存限制(以字节为单位)。如果达到该限制,Impalad Daemon 上运行的查询会被停止。

    Impala优化思路

  • 查看执行计划:explain sql;当SQL执行完成后, 使用profile输出底层的执行计划详细信息 :profile;
  • 当SQL执行完成后,使用summary输出查询时间和占用内存信息 :summary;
  • 大表和小表JOIN时,确保大表在左侧,小表在右侧( Impala 会广播小表到所有节点);
  • 大表和大表JOIN时, 需要使用partitioned join。