Impala shell详解
不多说,直接上干货!

查看帮助文档
impala-shell -h
刷新整个云数据
impala-shell -r
use impala;
show tables;
去格式化,查询大数据量时可以提高性能
impala-shell -B
show tables;
则,效果就跟hive效果一样了。
去格式化时显示列名
impala-shell -B --print_header
show tables;
指定分隔符
impala-shell -B --output_delimiter
impala-shell -B --print_header --output_delimiter
查看对应版本
impala-shell -v
执行查询文件(常用)
impala-shell -f
常常把sql语句写到某文件中。
比如vi test.tst
select * from impala.res limit ;
注意,impala是我的数据库,res是这个数据库里的表。
impala-shell -f test.tst 或者
impala-shell --query_file = test.txt
这种语句的作用,跟sql语句里的作用是一样的。
连接对应的impalad服务
impala-shell -i
impala-shell -- impalad
impala-shell --fe_port
保存结果执行到文件
impala-shell -o
impala-shell -o --output_file
impala-shell -o result.txt --query_file=test.txt
impala-shell -B --print_header -o result.txt --query_file=test.txt
result.txt
impala-shell -B -o result.txt --query_file=test.txt
result.txt

执行某一用户运行impala-shell
impala-shell -u
显示执行计划
impala-shell -p
不能进入impala-shell执行查询
impala-shell -q
使用kerberos安全加密方式运行impala-shell
impala-shell -k
忽略错误语句继续执行
impala-shell -c
使用LDAP协议进行访问
impala-shell -l
指定进入某一个数据库
impala-shell -d

帮助选项
impala-shell;
help
增量刷新
impala-shell;
refresh
摘要: http://www.cloudera.com/content/cloudera-content/cloudera-docs/Impala/latest/Installing-and-Using-Impala/ciiu_shell_options.html
impala-shell 命令行选项
你可以在启动 impala-shell 时设置以下选项,用于修改命令执行环境。
Note:
这些选项与 impalad 守护进程的配置选项不同。关于 impalad 选项,参见 Modifying Impala Startup Options。
|
选项 |
描述 |
|---|---|
|
-B or --delimited |
导致使用分隔符分割的普通文本格式打印查询结果。当为其他 Hadoop 组件生成数据时有用。对于避免整齐打印所有输出的性能开销有用,特别是使用查询返回大量的结果集进行基准测试的时候。使用 --output_delimiter 选项指定分隔符。使用 -B 选项常用于保存所有查询结果到文件里而不是打印到屏幕上。在 Impala 1.0.1 中添加 |
|
--print_header |
是否打印列名。整齐打印时是默认启用。同时使用 -B 选项时,在首行打印列名 |
|
-o filename or --output_file filename |
保存所有查询结果到指定的文件。通常用于保存在命令行使用 -q 选项执行单个查询时的查询结果。对交互式会话同样生效;此时你只会看到获取了多少行数据,但看不到实际的数据集。当结合使用 -q 和 -o 选项时,会自动将错误信息输出到 /dev/null(To suppress these incidental messages when combining the -q and -o options, redirect stderr to /dev/null)。在 Impala 1.0.1 中添加 |
|
--output_delimiter=character |
当使用 -B 选项以普通文件格式打印查询结果时,用于指定字段之间的分隔符(Specifies the character to use as a delimiter between fields when query results are printed in plain format by the -B option)。默认是制表符 tab ('\t')。假如输出结果中包含了分隔符,该列会被引起且/或转义( If an output value contains the delimiter character, that field is quoted and/or escaped)。在 Impala 1.0.1 中添加 |
|
-p or --show_profiles |
对 shell 中执行的每一个查询,显示其查询执行计划 (与 EXPLAIN 语句输出相同) 和发生低级故障(low-level breakdown)的执行步骤的更详细的信息 |
|
-h or --help |
显示帮助信息 |
|
-i hostname or --impalad=hostname |
指定连接运行 impalad 守护进程的主机。默认端口是 21000。你可以连接到集群中运行 impalad 的任意主机。假如你连接到 impalad 实例通过 --fe_port 标志使用了其他端口,则应当同时提供端口号,格式为 hostname:port |
|
-q query or --query=query |
从命令行中传递一个查询或其他 shell 命令。执行完这一语句后 shell 会立即退出。限制为单条语句,可以是 SELECT, CREATE TABLE, SHOW TABLES, 或其他 impala-shell 认可的语句。因为无法传递 USE 语句再加上其他查询,对于 default 数据库之外的表,应在表名前加上数据库标识符(或者使用 -f 选项传递一个包含 USE 语句和其他查询的文件) |
|
-f query_file or --query_file=query_file |
传递一个文件中的 SQL 查询。文件内容必须以分号分隔 |
|
-k or --kerberos |
当连接到 impalad 时使用 Kerberos 认证。如果要连接的 impalad 实例不支持 Kerberos,将显示一个错误 |
|
-s kerberos_service_name or --kerberos_service_name=name |
Instructs impala-shell to authenticate to a particular impalad service principal. 如何没有设置 kerberos_service_name ,默认使用 impala。如何启用了本选项,而试图建立不支持 Kerberos 的连接时,返回一个错误(If this option is used in conjunction with a connection in which Kerberos is not supported, errors are returned) |
|
-V or --verbose |
启用详细输出 |
|
--quiet |
关闭详细输出 |
|
-v or --version |
显示版本信息 |
|
-c |
查询执行失败时继续执行 |
|
-r or --refresh_after_connect |
建立连接后刷新 Impala 元数据,与建立连接后执行 REFRESH 语句效果相同 |
|
-d default_db or --database=default_db |
指定启动后使用的数据库,与建立连接后使用 USE 语句选择数据库作用相同,如果没有指定,那么使用 default 数据库 |
| -l | 启用 LDAP 认证 |
| -u | 当使用 -l 选项启用 LDAP 认证时,提供用户名(使用短用户名,而不是完整的 LDAP 专有名称(distinguished name)) ,shell 会提示输入密码 |
1、Impala 外部 Shell
Impala外部Shell 就是不进入Impala内部,直接执行的ImpalaShell 例如通过外部Shell查看Impala帮助可以使用: $ impala-shell -h 这样就可以查看了;
再例如显示一个SQL语句的执行计划: $ impala-shell -p select count(*) from t_stu
下面是Impala的外部Shell的一些参数:
• -h (--help) 帮助
• -v (--version) 查询版本信息
• -V (--verbose) 启用详细输出
• --quiet 关闭详细输出
• -p 显示执行计划
• -i hostname (--impalad=hostname) 指定连接主机格式hostname:port 默认端口21000
• -r(--refresh_after_connect)刷新所有元数据
• -q query (--query=query) 从命令行执行查询,不进入impala-shell
• -d default_db (--database=default_db) 指定数据库
• -B(--delimited)去格式化输出
• --output_delimiter=character 指定分隔符
• --print_header 打印列名
• -f query_file(--query_file=query_file)执行查询文件,以分号分隔
• -o filename (--output_file filename) 结果输出到指定文件
• -c 查询执行失败时继续执行
• -k (--kerberos) 使用kerberos安全加密方式运行impala-shell
• -l 启用LDAP认证
• -u 启用LDAP时,指定用户名
2、Impala内部Shell
使用命令 $ impala-sehll 可以进入impala,在这里可以像Hive一样正常使用SQL,而且还有一些内部的impala命令:
• help
• connect <hostname:port> 连接主机,默认端口21000
• refresh <tablename> 增量刷新元数据库
• invalidate metadata 全量刷新元数据库
• explain <sql> 显示查询执行计划、步骤信息
• set explain_level 设置显示级别(0,1,2,3)
• shell <shell> 不退出impala-shell执行Linux命令
• profile (查询完成后执行) 查询最近一次查询的底层信息
例:查看帮助可以直接使用: help ,要刷新一个表的增量元数据可以使用 refresh t_stu;
Impala shell详解的更多相关文章
- HUE配置文件hue.ini 的impala模块详解(图文详解)(分HA集群)
不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...
- Linux的Bash Shell详解
一.Bash Shell概述 1.什么是bash bash是Bourne Again Shell的简称,是从unix系统中的sh发展而来的,是用户和Linux内核交互的工具,用户通过b ...
- hadoop shell 详解
概述 所有的hadoop命令均由bin/hadoop脚本引发.不指定参数运行hadoop脚本会打印所有命令的描述. 用法: hadoop [--config confdir] [COMMAND] ...
- SHELL 详解
http://blog.csdn.net/vah101/article/details/6173488 ( a=2;b=4;c=9; ) 子shell 环境 { a=2;b=4;c=9; } 当前sh ...
- 每篇半小时1天入门MongoDB——3.MongoDB可视化及shell详解
本篇主要介绍MongoDB可视化操作以及shell使用及命令,备份恢复.数据导入导出. MongoVUE安装和简单使用 使用mongo.exe 管理数据库虽然可行,功能也挺强大,但每次都要敲命令,即繁 ...
- Impala查询详解
Impala的定位是一种新型的MPP查询引擎,但是它又不是典型的MPP类型的SQL引擎,提到MPP数据库首先想到的可能是GreenPlum,它的每一个节点完全独立,节点直接不共享数据,节点之间的信息传 ...
- Linux之shell详解
Shell是什么 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个界 ...
- Shell—详解$0、$1、$2、$#、$*、$@、$?、$$变量
预定义变量:常用来获取命令行的输入 变量 作用 $0 当前Shell脚本本身的文件名称 $1 脚本接收的第一个参数($1-$9:第1-9个命令行参数名) $2 脚本接收的第二个参数($1-$9:第1- ...
- Shell [[]]详解:检测某个条件是否成立
[[ ]]是 Shell 内置关键字,它和 test 命令类似,也用来检测某个条件是否成立. test 能做到的,[[ ]] 也能做到,而且 [[ ]] 做的更好:test 做不到的,[[ ]] 还能 ...
随机推荐
- C# 读取xml时,遇到xmlns的问题
1.读取xml的时候,由于xml里有xmlns的属性,导致了读xml无法正常读取.通过网上搜索,发现需要先注册命名空间. xmlns是XML Namespaces的缩写,中文名称是XML(标准通用标 ...
- 前端基础进阶之Promise
前言 Promise的重要性我认为我没有必要多讲,概括起来说就是必须得掌握,而且还要掌握透彻.这篇文章的开头,主要跟大家分析一下,为什么会有Promise出现. 在实际的使用当中,有非常多的应用场景我 ...
- powerdesigner唯一约束设置
双击unique_pos_code
- python----题库(一)
1.执行 Python 脚本的两种方式 答:1.>>python ../pyhton.py 2. >>python.py #必须在首行有 #!/usr/bin/env pyth ...
- vue - vue + vue-router + vuex 简单项目
简单的,我的首页,我的笔记项目 vue + vue-router + vuex View + VM(ViewModel) + Model (webpack) vue init webpack lint ...
- Celery 分布式任务队列入门
一.Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery ...
- [转]基于S2SH框架的项目—antlr-2.7.2.jar包冲突问题
java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I org.hibernate.hql.ast.HqlSqlWal ...
- AT2043 AND Grid 构造
正解:构造 解题报告: 传送门传送门! 这题psj讲了俩做法,一个是最常见的解法,还一种还不知道484对的QAQ 然后先把psj讲的不知正确性的做法港下QwQ 大概就是说,第一个图,先把底给染完 然后 ...
- MySQL DBA 管理常用命令
一:在Linux下管理MySQL数据库的时候总有一些很紧急的情况,发现数据库突然变得压力很大了,那么作为一个DBA,也许需要一些常用的手段或者说命令去分析问题出现在哪里,然后解决: 数据库突然产生压力 ...
- 上传指定url文件到阿里云oss
好处是不用下载到本地,也不用删除本地文件.省事! 先下载阿里云官方代码 https://github.com/aliyun/aliyun-oss-csharp-sdk 引用其中的 aliyun-os ...