外部shell 命令:就是还没有进入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 元数据 |
-B(--delimited) | 去格式化输出 |
--output_delimiter=character | 指定分隔符 |
--print_header | 打印列名 |
-p, --show_profiles | 对 shell 中执行的每一个查询,显示其查询执行计划 |
示例:
1.显示Impala shell的帮助信息
impala-shell -h
2.如在hive中有改动表结构或改动记录,需要使用-r刷新元数据
impala-shell -r
3.指定启动后使用的数据库,与建立连接后使用use语句选择数据库作用相同,如果没有指定,那么使用default数据库
impala-shell -d mydatabase
4.连接指定hadoop103的impala主机
impala-shell -i hadoop103
5.使用查询表中数据,并将数据写入文件中
impala-shell -q 'select * from student' -o output.txt
6.执行指定的某的sql查询文件
impala-shell –f news.sql
7.执行指定的某的sql查询文件,(-c:查询执行失败时继续执行,如多条sql,有一条sql语法有问题,则不会中断跳过继续往下运行)
impala-shell -c –f news.sql
8.执行指定的某的sql查询文件,并将数据写入文件中
impala-shell –f news.sql -o output.txt
9.执行指定的某的sql查询文件,并将数据写入文件中 (-B:输出去掉格式化的信息,只要数据)
impala-shell –f news.sql -B -o output.txt
10.执行指定的某的sql查询文件,并将数据写入文件中 (1输出去掉格式化的信息,只要数据 2打印列名--print_header)
impala-shell –f news.sql -B -o output.txt --print_header
11.执行指定的某的sql查询文件,并将数据写入文件中 (指定分隔符--output_delimiter)
impala-shell –f news.sql -B -o output.txt --output_delimiter=','
12.对 shell 中执行的每一个查询,显示其查询执行计划
impala-shell -p
13.显示Impala shell的版本号
impala-shell -v