impala导出查询结果到文件

impala导出查询结果到⽂件
想⽤impala-shell 命令⾏中将查询的结果导出到本地⽂件,想当然的以为impala 和 hive ⼀样可以⽤ insert overwrite local directory
‘/’ select ……. 这样的命令导出到本地,执⾏了⼀下,发现impala 不⽀持这个。
然后查了⼀下,发现impala-shell 可以像mysql ⼀样的⽅式导出查询结果到⽂件。在命令⾏⾥带参数执⾏,例如:
impala-shell -q  "select * from table limit 10" -B --output_delimiter="\t" -
1
impala-shell 还有其他很多参数,可以impala-shell -h 查看,下⾯是别⼈翻译的,copy过来供⼤家参考 :
选项
描述
-
grid serviceB 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 查询。⽂件内容必须以分号分隔span80
-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 会提⽰输⼊密码

本文发布于:2024-09-22 21:32:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/470871.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:查询   结果   打印   语句   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议