1. Impala Shell安装
目前Impala Shell Beta Release采用的是rpm包进行安装,命令如下:
rpm -ivh impala-shell-0.3-1.p0.366.el6.x86_64.rpm
2. Impala Shell使用
Impala使用Hive SQL进行数据查询,因此Impala Shell在使用方面也效仿了Hive,在许多命令的用法上和Hive有相近之处,但使用细节又有所区别。
Impala Shell和Hive的相同之处:
使用Hive SQL进行数据查询;
在许多命令使用上是一样的。
Impala Shell和Hive的不同之处:
Hive对语句解析的结束标志是”;”,而Impala Shell对语句解析的结束标志是回车;
Hive对命令的错误信息相对Impala Shell比较详细;
Impala使用的SQL只是Hive SQL的子集。
2.1启动Impala Shell
启动Impala Shell命令如下:
>impala -shell
使用connect命令连接Impala实例,默认端口为21000,命令如下:
>connect impalad-host:21000
首次使用Impala-Shell需要刷新元数据,命令如下:
>refresh
官方文档给出需要执行刷新元数据的情况:
元数据发生改变时;
其他实体(比如Hive、其他Impala实例)改变元数据或者数据;
客户端(Impala Shell和ODBC连接)修改数据时。
官方文档给出不需要执行刷新元数据的情况:
元数据被一个单一Impala实体改变时;
元数据的改变来自后台数据库时。
元数据的改变有下面两种情况:
Hive——Alert、Create、Drop和Insert操作
Impala——Insert操作
2.2 Impala Shell命令详解
在Impala Shell中,连续两次点击“Tab”,就会出现可以使用的命令信息:
connect describe explain help insert quit
refresh select set shell show use version
2.2.1 Connect命令
Connect命令主要用于建立一个Impalad客户端连接,默认连接端口为21000,使用方式如下:
>connect impalad-host:impalad-post
如果成功连接上Impalad主机,Shell命令提示前会显示impalad-host:impalad-post。
2.2.2 Describe命令
Describe命令主要用于查看数据表的定义,使用方式如下:
> describe table_name
命令执行成功后,显示数据库中的表定义如下次:
column_name1 define_type
column_name2 define_type
….
如果查看的数据表不存在时,返回如下错误信息:
ERROR: com.cloudera.impala.common.AnalysisException: Unknown table: database_name.given_table_name
…..
2.2.3 Explain命令
Explain命令主要用于执行语句的执行计划,使用方式如下:
>explain excute_clause
命令执行成功会显示执行语句的执行计划。
2.2.4 Help命令
Help命令主要用于查看各命令帮助信息,使用方式如下:
>help command
命令执行成功会显示命令的帮助信息。
注意:Impala Shell中是不区分大小写的,但help命令后面的命令参数必须小写,否则系统无法识别。
2.2.5 Insert命令
Insert命令主要用于利用select clause结果或者partition中的数据插入整合后的新数据,使用方式如下:
>insert into table table_name select_clause
> insert overwrite table table_name select_clause
> insert overwrite table table_name partition
命令执行成功不会显示额外信息。
2.2.6 Quit命令
Quit命令主要用于退出Shell,使用方式如下:
>quit
命令执行成功退出Shell,不会显示额外信息。
2.2.7 Refresh命令
Refresh命令主要用于刷新元数据信息,使用方式如下:
>refresh
命令执行成功会显示元数据刷新成功信息。
2.2.8 Select命令
Select命令主要用于查询数据信息,使用方式如下:
>select clause
命令执行成功会显示查询信息的结果。
官方文档描述Select支持的操作:
支持SQL类型:boolean, tinyint, smallint, int, bigint, float, double, timestamp, string;
支持ALL, DISTINCT关键字查询;
支持子查询(在From子句中);
支持WHERE, GROUP BY, HAVING子句;
支持ORDER BY (查询语句必须含有limit关键字);
支持Joins 查询(LEFT, RIGHT, FULL, OUTER, INNER), 多表查询, 子查询;
支持UNION ALL、LIMIT关键字查询;
支持外部表查询;
支持执行计划;
支持关系比较符,比如=,>,<,>=,>=;
支持算术符号,比如+,-;
支持逻辑符号,比如AND,OR,NOT,注意:impala不支持&&,||,!;
支持Hive内建的函数。
2.2.9 Set命令
Set命令主要用于设置属性常量值,使用方式如下:
>set attribute_name=attribute_value
命令执行成功不显示任何信息。可以进行设定的属性信息如下表所示:
属性名 允许的属性值 作用
DISABLE_CODEGEN true或1,其他值都为false 禁止编译
MAX_ERRORS 整数 最大的错误数
ABORT_ON_ERROR true或1,其他值都为false 当错误发生时,是否中断
MAX_SCAN_RANGE_LENGTH 整数 最大的Scan范围长度
PARTITION_AGG true或1,其他值都为false 允许分区聚合
MAX_IO_BUFFERS 整数 最大IO缓冲区大小
ALLOW_UNSUPPORTED_FORMATS true或1,其他值都为false 是否允许不支持格式
NUM_SCANNER_THREADS 整数 Scanner执行的线程数
BATCH_SIZE 整数 批次大小
NUM_NODES 整数 节点数目
2.2.10 Shell命令
Shell命令主要用于执行Shell命令,使用方式如下:
>shell shell_commands
命令执行成功会显示shell命令执行结果信息,也可以使用”!”代替shell。使用方式如下:
>! shell_commands
注意:shell命令不能是alias命令,否则会报错。
2.2.11 Show命令
Show命令主要用于显示所有的数据库空间名和制定数据库空间下的所有表名,使用方式如下:
>show databases
>show tables
>show schemas
show databases命令执行成功会显示所有的数据库空间名。show tables命令执行成功会显示当前表空间下的所有表名。show schemas命令执行成功会显示所有的数据库空间名。
2.2.12 Use命令
Use命令主要用于切换数据库空间,使用方式如下:
>use database_name
命令执行成功不显示任何信息。
注意:如果数据库空间输入错误,impala-shell不会给出任何提示信息。这一点不如Hive人性,Hive会给出错误信息。
2.2.13 Version命令
Version命令主要用于查看Impala版本信息,使用方式如下:
>version
命令执行成功会显示Impala版本信息。
分享到:
相关推荐
这可能需要调整系统中Impala Shell的默认版本,通过alternatives命令将Impala Shell的链接指向新版本的二进制程序。 验证Impala与Kudu的集成,你可以打开Impala Shell并执行SQL查询,如`select if (version() like ...
值得注意的是,Impala 3.0版本带来了许多变更,包括启用插入时的聚类提示、移除了过时的查询选项、增加了细粒度的权限、移除了Impala shell中的refresh_after_connect选项、修改了保留字列表、将Decimal V2设为...
#### 2.5 ImpalaShell - **命令行参数**:用于控制Impala-shell的行为,如指定主机名、端口等。 - **执行命令**:在Impala-shell中输入SQL语句或其他命令来执行查询或管理任务。 #### 2.6 Impala性能优化 - **...
3. **Impala Shell**:Impala自带的命令行工具,方便直接对Impala进行操作。 **文件“car.html”** 提到的"car.html"文件可能包含一个关于汽车数据的示例或者是一个用于演示Impala查询的测试数据集。在Impala中,...
3. **CLI**:提供命令行工具Impala Shell,以及其他接口如Hue、JDBC和ODBC,供用户进行查询。 **与Hive的关系** Hive主要适用于长时间的批处理查询分析,而Impala则更适合实时交互式SQL查询。两者的元数据、SQL...
Impala 的初体验可以通过启动 Impala shell,查看数据库,打开默认数据库等操作来实现。 Impala 是一种高性能的交互式 SQL 查询引擎,具有多种优点,但也存在一些缺点。Impala 的架构、安装和监护管理都是非常重要...
3. 查询执行:用户可以通过Impala shell、ODBC/JDBC接口或者Hue等图形化工具,提交SQL查询。Impala会自动优化查询计划,快速返回结果。 4. 监控与调优:利用Cloudera Manager等工具,可以监控Impala的运行状态,...
这可以通过Impala Shell命令来完成: ```sql ADD JAR hdfs://<your_hdfs_path>/luna_t1-0.0.1-SNAPSHOT.jar; CREATE TEMPORARY FUNCTION uuid2 AS 'qst.dz.Luna_t1.UuidFunctions$uuid2'; ``` #### 七、测试UDF ...
- **客户端**: 包括 Hue、ODBC/JDBC 客户端、Impala Shell 等,用于执行查询或完成管理任务。 - **Hive Metastore**: 存储元数据信息,使 Impala 能够了解可用的数据库及其结构。 - **Cloudera Impala**: 在数据节点...
- CLI:提供用户界面,如Impala Shell,以及JDBC和ODBC接口,方便用户交互。 2. Impala与Hive的关系: - Impala和Hive都是基于Hadoop的数据查询系统,但在应用场景上有区别。Hive适合长时间的批处理查询,而...
Impala Shell是用户与Impala交互的客户端工具,提供查询和管理功能。 安装Impala时,需要注意内存需求较高,至少32GB,推荐32-48GB,并且只支持特定版本的Red Hat或CentOS操作系统,同时需要预先安装CDH和配置好...
大数据基础操作说明-HADOOP HIVE IMPALA Hadoop 是一个基于分布式存储和计算的开源框架,Hive 是基于 Hadoop 的一个数据仓库工具,Impala 是一个高性能的分布式SQL查询引擎。在这篇文章中,我们将会了解 Hadoop ...
首先,文档的前言部分强调了本课程的目标,即帮助开发者了解和使用Impala的impala-shell命令行工具和JDBC接口,以快速熟悉Impala服务并开发相关应用。这涵盖了基本的开发环境准备,包括确保Impala组件正常运行,以及...
2. MASTER 节点上安装 Impala-shell:使用以下命令安装 Impala-shell: ``` sudo yum install impala-shell ``` Impala 配置 在安装完成后,需要对 Impala 进行配置。Impala 的配置文件位于 `/etc/default/impala`...
使用Hive命令行或Impala Shell验证Hive和Impala是否正常工作,创建测试表并插入数据,执行查询以确保能正确读取数据。 通过以上步骤,你已经在CDH5.5环境中成功安装了Hive和Impala,并进行了必要的配置。确保所有...
3. **Impala交互式查询(Impala Shell)**:为Impala提供了一个类似SQL的查询工具,能快速返回结果,适合实时数据分析。 4. **Pig编辑器(Pig Editor)**:用于编写和执行Pig Latin脚本,支持自动补全和错误检查。 5...