在你链接到 impalad 守护进程实例的 impala-shell 会话中,能够只运行查询。你既能够在运行 impala-shell 时经过命令行选项指定链接信息,也能够在 impala-shell 会话中经过运行 CONNECT 命令指定。你能够链接到任意运行了 impalad 实例的数据节点,而后这个节点会协调发给它的全部查询的执行。 shell
简单起见,你可能会始终链接到同一个节点,可能在运行 impalad 的相同节点运行 impala-shell,指定主机名为 localhost。当表数据或元数据被其余节点更新后,路由全部的 SQL 语句到同一个节点能够避免频繁的执行 REFRESH 语句。 负载均衡
为了负载均衡和灵活性,你的每个 impala-shell 会话可能会链接到任意节点。这时候,依赖于表数据或元数据是否已经被其余节点更新,你可能须要执行 REFRESH 语句把该节点上全部表的元数据更新到当前时间 (针对将查询许多表长时间存在的会话) 或 执行特定的 REFRESH table_name 语句只更新要查询的表的元数据。 ui
在 impala shell 链接到任意的运行 impalad 守护进程的数据节点: spa
$ impala-shell
你会看到以下提示符: 命令行
Welcome to the Impala shell. Press TAB twice to see a list of available commands. Copyright (c) 2012 Cloudera, Inc. All rights reserved. (Shell build version: Impala Shell v1.0.1 (9ef893a) built on Fri May 31 17:50:30 PDT 2013) [Not connected] >
[Not connected] > connect impalad-host > [impalad-host:21000] >