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版本信息。
分享到:
相关推荐
HADOOP 文件系统SHELL; hive批处理、交互式SHELL; IMPALA介绍、支持的命令。
CDH集群升级至5.15并且启用Kerberos的情况下,在命令行使用impala-shell执行SQL操作会报如下异常: [cdh01.fayson.com:25003] > select count(*) from ods_user; Query: select count(*) from ods_user Query ...
java操作Linux-shell命令的jar文件,java语言执行 Linux-cmd命令 java操作Linux-shell命令的jar文件,java语言执行 Linux-cmd命令 java操作Linux-shell命令的jar文件,java语言执行 Linux-cmd命令 java操作Linux-shell...
大数据与云计算教程课件 优质大数据课程 07.HDFS Shell命令(共21页).pptx 大数据与云计算教程课件 优质大数据课程 08.HDFS文件接口(共41页).pptx 大数据与云计算教程课件 优质大数据课程 09.MapReduce序列化(共...
hadoop,zookeeper,hbase,hive,spark,kafka,flink,clickhouse,数据仓库,等等
大数据与云计算教程课件 优质大数据课程 07.HDFS Shell命令(共21页).pptx 大数据与云计算教程课件 优质大数据课程 08.HDFS文件接口(共41页).pptx 大数据与云计算教程课件 优质大数据课程 09.MapReduce序列化(共...
电影收视率分析此示例显示了电影分级Web应用程序,该应用程序将分级事件记录到HDFS...我们需要告诉Impala刷新其元存储区,以便新的ratings表可见: impala-shell -q 'invalidate metadata ratings'然后我们可以发出查询
数据仓库Hive和Impala部分考查了Hive/Impala在大数据生态中的定位、基本命令以及与传统数据仓库的区别。 Spark部分主要考查了Spark的特性、运行架构、编程模型、Scala语言与RDD等核心概念。 流计算部分着重考查了流...
5. 数据仓库Hive和Impala部分考查了Hive/Impala在大数据生态中的定位、基本命令以及与传统数据仓库的区别。 6. Spark部分主要考查了Spark的特性、运行架构、编程模型、Scala语言与RDD等核心概念。 7. 流计算部分...
Cloudera安装部署集群搭建+yum本地源+数据库操作实例
尽管HBase是一个非常有用的大数据存储,但是它的访问机制非常原始,并且只能通过客户端API,Map / Reduce接口和交互式Shell进行访问。 可通过Map / Reduce或接口机制(例如Apache Hive和Impala)或某些“本机” SQL...
可配置的CBOR和CSV输出(针对Impala / hadoop导入,不兼容RFC 4180)和可选的二进制CBOR输出。 模块化输出可轻松实现其他输出格式。 自动输出文件旋转和压缩或其他后处理(任何shell管道命令)。 通过配置文
命令解析器Shell 2.3Hadoop⽣态体系 ⼤数据存储框架Hadoop 分布式服务管理框架zookeeper hadoop⾼可⽤HA 数据仓库hive 数据查询框架impala+kudu+clouderManager ⽇志采集传输框架flume/idea 分布式发布-订阅消息系统...
大数据与云计算教程课件 优质大数据课程 07.HDFS Shell命令(共21页).pptx 大数据与云计算教程课件 优质大数据课程 08.HDFS文件接口(共41页).pptx 大数据与云计算教程课件 优质大数据课程 09.MapReduce序列化(共...
大数据与云计算教程课件 优质大数据课程 07.HDFS Shell命令(共21页).pptx 大数据与云计算教程课件 优质大数据课程 08.HDFS文件接口(共41页).pptx 大数据与云计算教程课件 优质大数据课程 09.MapReduce序列化(共...
大数据与云计算教程课件 优质大数据课程 07.HDFS Shell命令(共21页).pptx 大数据与云计算教程课件 优质大数据课程 08.HDFS文件接口(共41页).pptx 大数据与云计算教程课件 优质大数据课程 09.MapReduce序列化(共...
大数据与云计算教程课件 优质大数据课程 07.HDFS Shell命令(共21页).pptx 大数据与云计算教程课件 优质大数据课程 08.HDFS文件接口(共41页).pptx 大数据与云计算教程课件 优质大数据课程 09.MapReduce序列化(共...
大数据与云计算教程课件 优质大数据课程 07.HDFS Shell命令(共21页).pptx 大数据与云计算教程课件 优质大数据课程 08.HDFS文件接口(共41页).pptx 大数据与云计算教程课件 优质大数据课程 09.MapReduce序列化(共...
大数据与云计算教程课件 优质大数据课程 07.HDFS Shell命令(共21页).pptx 大数据与云计算教程课件 优质大数据课程 08.HDFS文件接口(共41页).pptx 大数据与云计算教程课件 优质大数据课程 09.MapReduce序列化(共...
大数据与云计算教程课件 优质大数据课程 07.HDFS Shell命令(共21页).pptx 大数据与云计算教程课件 优质大数据课程 08.HDFS文件接口(共41页).pptx 大数据与云计算教程课件 优质大数据课程 09.MapReduce序列化(共...