Impala 操作命令
Impala的外部shell
选项 | 描述 |
-h, --help | 显示帮助信息 |
-v or --version | 显示版本信息 |
-i hostname, --impalad=hostname | 指定连接运行 impalad 守护进程的主机。默认端口是 21000。 |
-q query, --query=query | 从命令行中传递一个shell 命令。执行完这一语句后 shell 会立即退出。 |
-f query_file, --query_file= query_file | 传递一个文件中的 SQL 查询。文件内容必须以分号分隔 |
-o filename or --output_file filename | 保存所有查询结果到指定的文件。通常用于保存在命令行使用 -q 选项执行单个查询时的查询结果。 |
-c | 查询执行失败时继续执行 |
-d default_db or --database=default_db | 指定启动后使用的数据库,与建立连接后使用use语句选择数据库作用相同,如果没有指定,那么使用default数据库 |
-r or --refresh_after_connect | 建立连接后刷新 Impala 元数据 |
-p, --show_profiles | 对 shell 中执行的每一个查询,显示其查询执行计划 |
-B(–delimited) | 去格式化输出 |
–output_delimiter=character | 指定分隔符 |
–print_header | 打印列名 |
1、连接指定hadoop101的impala主机
impala-shell -i cdh02
2、使用-q查询表中数据,并将数据写入文件中
impala-shell -q 'select * from hive_test.student' -o output.txt
3、查询执行失败时继续执行
vim impala.sql select * from hive_test.student; select * from hive_test.stu; select * from hive_test.student; impala-shell -f impala.sql; impala-shell -c -f impala.sql;
4、在Hive中创建表后,使用-r刷新元数据
impala-shell -r
5、显示查询执行计划
impala-shell -p select * from student;
Impala的内部shell
选项 | 选项 |
help | 显示帮助信息 |
explain <sql> | 显示执行计划 |
profile | (查询完成后执行) 查询最近一次查询的底层信息 |
shell <shell> | 不退出impala-shell执行shell命令 |
version | 显示版本信息(同于impala-shell -v) |
connect | 连接impalad主机,默认端口21000(同于impala-shell -i) |
refresh <tablename> | 增量刷新元数据库 |
invalidate metadata | 全量刷新元数据库(慎用)(同于 impala-shell -r) |
history | 历史命令 |
1、查看执行计划
[cdh02:21000] default> explain select * from student;
2、查询最近一次查询的底层信息
[cdh02:21000] default> select count(*) from student; [cdh02:21000] default> profile;
3、查看HDFS及Linux文件系统
[cdh02:21000] default> shell hadoop fs -ls /; [cdh02:21000] default> shell ls -al ./;
4、刷新指定表的元数据
hive> load data local inpath '/mnt/student.txt' into table student; [cdh02:21000] default> select * from student; [cdh02:21000] default> refresh student; [cdh02:21000] default> select * from student;