【转载出处】http://blog.csdn.net/jobschen/article/details/68942574

想用impala-shell 命令行中将查询的结果导出到本地文件,想当然的以为impala 和 hive 一样可以用 insert overwrite local directory ‘/home/test.txt’ select ……. 这样的命令导出到本地,执行了一下,发现impala 不支持这个。

然后查了一下,发现impala-shell 可以像mysql 一样的方式导出查询结果到文件。在命令行里带参数执行,例如:

impala-shell -q  "select * from table limit 10" -B --output_delimiter="\t" -o testimpalaoutput.txt
  • 1

impala-shell 还有其他很多参数,可以impala-shell -h 查看,下面是别人翻译的,copy过来供大家参考 :

选项

描述

-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 会提示输入密码

参数内容引用自:
https://my.oschina.net/weiqingbin/blog/190929

更多精彩内容,欢迎扫码关注以下微信公众号:大数据技术宅。大数据、AI从关注开始

转载于:https://www.cnblogs.com/followees/p/7803094.html

【转】Impala导出查询结果到文件相关推荐

  1. DBeaver导出查询数据sql文件

    DBeaver导出查询数据sql文件 1 条件查询 2 全选(ctrl+a),右键-->生成SQL-->insert--复制 1 条件查询 2 全选(ctrl+a),右键–>生成SQ ...

  2. DBGridEh导出Excel等格式文件

    uses DBGridEhImpExp; {------------------------------------------------------------------------------ ...

  3. python亿级mysql数据库导出_Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法...

    本文实例讲述了python实现将MySQL数据库表中的数据导出生成csv格式文件的方法.分享给大家供大家参考,具体如下: #!/usr/bin/env python # -*- coding:utf- ...

  4. mysql控制台导出查询结果_MySQL 命令行导出、导入Select 查询结果

    有的时候需要把在一张表中用 select 语句查询出来的结果保存到另一张结构相同的表中,可以有几种方法来实现: 方法一: 在命令行下使用一对SQL语句完成该操作: 导出查询结果:Select语句 in ...

  5. mysql workbench 导出查询结果_MySQL Workbench查询结果导出步骤

    MySQL Workbench查询结果导出步骤 发布时间:2020-05-19 16:16:31 来源:PHP中文网 阅读:202 作者:三月 本文主要给大家介绍MySQL Workbench查询结果 ...

  6. linux 命令行下导出查询的数据

    linux 命令行下导出查询的数据 因为业务要求只能在 linux 命令行下导出数据,所需需要此命令导出 mysql -uroot -p'password' mika_gxgd -e "SE ...

  7. mysql查询结果输出文件_如何将MySQL查询输出保存到文件?

    mysql查询结果输出文件 We can use the MySQL outfile statement to save the query output into a file. This is v ...

  8. java导出excel 序号_java web将数据导出为Excel格式文件代码片段

    本文实例为大家分享了java web将数据导出为Excel格式文件的具体代码,供大家参考,具体内容如下 1.jsp代码 2.js代码 function getVerExcel() { window.l ...

  9. Java导出数据到Excel文件

    Java导出数据到Excel文件 前言 如何导出 导出的基本流程 测试结果 测试数据及结果 测试代码 ExcelExportUtil.class 遇到的问题 lombok的问题 解决 Cell.set ...

最新文章

  1. Linux查看WAS的jvm信息,linux 下使用命令查看jvm信息
  2. RectF Rect用法
  3. 高质量的缺陷分析:让自己少写 bug
  4. 【大数据算法】蓄水池抽样算法
  5. 我觉得要技术者上升到整体去考虑会好点
  6. PHP中的预定义常量
  7. 老司机们都是怎么学习STM32的?
  8. 【转】PHP会话Session使用详解
  9. 【报告分享】2020年中国智慧城市发展研究报告.pdf(附下载链接)
  10. 【POJ】2823 Sliding Window
  11. 技术人生:入职半年总结
  12. python 空对象,在Python中创建一个空对象
  13. matlab人脸识别论文
  14. ACM大佬算法课程福利分享
  15. Matlab中直方图的绘制histogram函数
  16. 在线图片处理api接口
  17. Unity移动端自动翻转及横竖屏的设置与检测
  18. 【历史上的今天】5 月 26 日:美国首个计算机软件程序专利;苹果市值首次超越微软;Wiki 的发明者出生
  19. 棋盘游戏 五子棋(1.人人对战)
  20. PMP需要提供什么资料来证明自己的项目管理经验

热门文章

  1. vb中如何才能有手型的光标?
  2. Jquery的.post说解(一)
  3. asp2.0缓存概述
  4. 关于Retinex图像增强算法的一些新学习
  5. laravel 5.5 整合 jwt 报错Method Tymon\JWTAuth\Commands\JWTGenerateCommand::handle() does not exist解决...
  6. SharpGL学习笔记(一) 平台构建与Opengl的hello World
  7. Java 复习 —— JMM基础
  8. 列出本机正在监控的端口
  9. Delphi 中的字符串函数(5) - SysUtils 中的 Ansi 字符串函数
  10. 图像处理中的跨度(stride)